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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 姿_`态 高级黑马   /  2014-6-6 20:01  /  1545 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

byte  b1=3 , b2=4 , b ;

b=b1+b2;

b=3+4;

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

8 个回复

倒序浏览
因为b=b1+b2运算会强制转换成int型。下面的是数字型的,相加的结果会以byte型存储。老师以前说过
回复 使用道具 举报
尹稳定 发表于 2014-6-6 20:09
因为b=b1+b2运算会强制转换成int型。下面的是数字型的,相加的结果会以byte型存储。老师以前说过 ...

b1+b2为什么回事int型
回复 使用道具 举报
因为byte+byte会默认类型转换成int+int。结果当然是int型。这是java默认的。
回复 使用道具 举报
尹稳定 发表于 2014-6-6 20:30
因为byte+byte会默认类型转换成int+int。结果当然是int型。这是java默认的。

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

其实你不用那么纠结的,一般输入的时候都是int 类型为主,byte用的很少,不用纠结记住就行啦,i
回复 使用道具 举报
对 记住就行了  这基本不会用的
回复 使用道具 举报
为了避免计算结果溢出,所以JAVA会自动转换成int类型后计算
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马