short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?

对于 short s1 = 1; s1 = s1 + 1;由于 1  int 类型因此 s1+1 运算结果也是 int

需要强制转换类型才能赋值给 short  short s1 = 1; s1 += 1;可以正确 

编译因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换

Java Program!
原文地址:https://www.cnblogs.com/programb/p/13019237.html