short s1 = 1; s1 = s1 + 1;(错误)
因为:1是int类型,因此s1+1运算结果也是int类型,而int--->short需要强制转换
而short s1 = 1; s1 += 1;(正确)
因为:s1+= 1; <===> s1 = (short)(s1 + 1); 其中隐含着强制类型转换,所以可以进行赋值运算
short s1 = 1; s1 = s1 + 1;(错误)
因为:1是int类型,因此s1+1运算结果也是int类型,而int--->short需要强制转换
而short s1 = 1; s1 += 1;(正确)
因为:s1+= 1; <===> s1 = (short)(s1 + 1); 其中隐含着强制类型转换,所以可以进行赋值运算