A也是对的(刚才看错了)!
A: byte b = 1+1 正确 定义byte类型的变量时,会自动将右边的数值自动完成了强转。
B: byte b = 1; b = b+1; 编译失败,错误。这是数据类型类型转换,b是byte型,1默认是int类型的,运算
结果是int类型的,赋值给byte类型的b变量可能损失精度。
C: byte b = 1; b = b+= 1; 正确。首先b+=1中+=运算符在给b赋值时,自动完成了强转动作,最后将运算后的b赋值给了b。
D: byte b = 1; b = ++b; 正确。首先运算++b,该运算时先将b+1的结果赋值给b,在赋值的过程中自动完成了强转操作。
|