A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伍淑江 中级黑马   /  2013-3-12 21:09  /  1642 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 伍淑江 于 2013-3-12 23:09 编辑

byte,short,char,--int --long--float--double

5 个回复

倒序浏览
数据类型自动转换时就是低类型向高类型转换啊。
回复 使用道具 举报
数据类型自动提升:
所有的byte型、short型和char型值将被提升到int型
如果一个操作数是long型,计算结果就是long型。
如果一个操作数是float型,计算结果就是float型。
如果一个操作数是double型,计算结果就是double型。
回复 使用道具 举报
数据类型间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。

JAVA数据类型自动转换时,遵循从小到大的原则:

具体地讲,当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,再进行运算。而在方法调用时,实际参数较“小”,而被调用的方法的形式参数数据又较“大”时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将“小”数据转换成“大”数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最“接近”的“大”数据并进行调用。

这些类型由“小”到“大”分别为 (byte,short,char)--int--long--float—double。这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。自动转换其实也避免了数据丢失
JAVA强制数据类型转换:
将“大”数据转换为“小”数据时,你可以使用强制类型转换。即你必须采用下面这种语句格式:

int n=(int)3.14159/2;   可以想象,这种转换肯定可能会导致溢出或精度的下降。有一定的危险性
总的来说,数据类型的转换,是根据我们的需求来的,选择强制转换的时候,一定要注意会不会对我的程序带来风险
希望对你有帮助



回复 使用道具 举报
转换的规则就是小数据类型变大数据类型,如果再深究的话就涉及到编译原理了
回复 使用道具 举报
楼上各位说的都有道理,但是不方便记忆,其实只要把握以下两点,所有问题迎刃而解
1.做运算的俩个如果不同型,低的自动转高,
2.byte,short,char这三个非常特殊,他们运算前先自己转int,然后运算
  从高到低顺序如下 double,float,long,int,short(char),byte;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马