a. byte b = 1 + 1; 对
b. byte b = 1; b = b + 1; 错
c. byte b = 1; b = b += 1; 对
d. byte b = 1; b = ++b; 对作者: Cola 时间: 2013-11-3 23:08
b中错的原因是b=b+1,1是int类型,b是byte类型,无法将int隐式转换为byte。作者: 剑魂 时间: 2013-11-3 23:29
又是这个问题,byte在运算中自动提升为Int型,b+1为int了,再赋给byte时丢失精度,而byte b =1 +1 , 赋值中会判断1+1结果2在byte范围内自动转换,