short s1=1;s1=s1+1;会报错,损失精度。short s1=1;s1+=1;不会报错;
s1=s1+1,s1是short型的而1是int型的两个相加会将s1+1的结果自动提升为int型,将一个int型的数赋给short型会报损失精度错误提示;
而s1+=1,因为+=是一个符号,所以会将符号右边的数1自动装箱为Short类型,然后在运算,不会产生错误。
short s1=1;s1=s1+1;会报错,损失精度。short s1=1;s1+=1;不会报错;
s1=s1+1,s1是short型的而1是int型的两个相加会将s1+1的结果自动提升为int型,将一个int型的数赋给short型会报损失精度错误提示;
而s1+=1,因为+=是一个符号,所以会将符号右边的数1自动装箱为Short类型,然后在运算,不会产生错误。