杨康 发表于 2012-5-16 22:59
short s = 5 , s = s +2 运算时 先将short型的s 提升为int型,因为在java中,整数数据类型是int型,所以就 ...
short s = 5 , s = s +2 运算时 先将short型的s 提升为int型,因为在java中,整数数据类型是int型,所以就变成了int型的5和int型的2求和,得到的结果就是int型的7,再重新赋值给short型的s,就会提示损失精度。
红色部分是不是矛盾了?这正是我纠结的地方?s 提升为int了,为啥后面又赋值给short型的s了?s 想变啥就变啥啊? |