黑马程序员技术交流社区

标题: 纠结了,脑袋爆了 [打印本页]

作者: 生牛排    时间: 2016-7-22 23:20
标题: 纠结了,脑袋爆了
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
上面两句错误提示为什么是第一句,数值运算不是先转换成int吗?
作者: r1503882525    时间: 2016-7-22 23:52
b=b1+b2;  先运算b1+b2;确实隐式转换成int类型了,但前面b=就是运算后的值还是要付给byte类型的b变量。运算的结果隐式转换成int了,在往byte类型的b里赋值,就报错容易损失精度。:b=3+4;  3+4是常量,计算机知道运算的结果没超出byte范围,所以不隐式转换,byte的值往byte里赋,自然不会报错了。
作者: seven7thTao    时间: 2016-7-23 00:06
还是斑竹厉害........
作者: 15105106710    时间: 2016-7-23 00:10
果然还是大神解释的清楚呀
作者: 自娱自乐的朋朋    时间: 2016-7-23 01:23
前排围观




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