1) 对于 shorts1=1;s1=s1+1 来说,在s1+1 运算时会自动提升表达式的类型为 int, 那么将int赋予给 short类型的变量 s1会出现类型转换错误。
2) 对于 short s1=1;s1+=1 来说 +=是java 语言规定的运算符,java 编译器会对它 进行特殊处理,因此可以正确编译。

1) 对于 shorts1=1;s1=s1+1 来说,在s1+1 运算时会自动提升表达式的类型为 int, 那么将int赋予给 short类型的变量 s1会出现类型转换错误。
2) 对于 short s1=1;s1+=1 来说 +=是java 语言规定的运算符,java 编译器会对它 进行特殊处理,因此可以正确编译。