黑马程序员技术交流社区

标题: 关于类型转换,越来越晕了。。。 [打印本页]

作者: 姿_`态    时间: 2014-6-6 20:01
标题: 关于类型转换,越来越晕了。。。
byte  b1=3 , b2=4 , b ;

b=b1+b2;

b=3+4;

为什么上面的错,下面的对啊???

作者: 尹稳定    时间: 2014-6-6 20:09
因为b=b1+b2运算会强制转换成int型。下面的是数字型的,相加的结果会以byte型存储。老师以前说过
作者: 姿_`态    时间: 2014-6-6 20:24
尹稳定 发表于 2014-6-6 20:09
因为b=b1+b2运算会强制转换成int型。下面的是数字型的,相加的结果会以byte型存储。老师以前说过 ...

b1+b2为什么回事int型
作者: 尹稳定    时间: 2014-6-6 20:30
因为byte+byte会默认类型转换成int+int。结果当然是int型。这是java默认的。
作者: 姿_`态    时间: 2014-6-6 20:35
尹稳定 发表于 2014-6-6 20:30
因为byte+byte会默认类型转换成int+int。结果当然是int型。这是java默认的。

有这规定?我还真不知道,能不能告诉我出处啊,我现在搞的郁闷死了,不懂原理
作者: 尹稳定    时间: 2014-6-6 20:40
这个你记住就好了,深究的话我也是个菜鸟,只是看到我知道的问题我就回答了下,老师怎么说我就怎么记了
作者: 诺诺    时间: 2014-6-6 22:14
姿_`态 发表于 2014-6-6 20:24
b1+b2为什么回事int型

其实你不用那么纠结的,一般输入的时候都是int 类型为主,byte用的很少,不用纠结记住就行啦,i
作者: sanjiadiankeli    时间: 2014-6-6 22:23
对 记住就行了  这基本不会用的
作者: 老梁    时间: 2014-6-7 16:05
为了避免计算结果溢出,所以JAVA会自动转换成int类型后计算




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2