答: 对于short s1 = 1;s1=s1 + 1;由于1是int类型因此s1+1运算结果也是int类型,需要强制转换成short类型才能复制给shot类型。而short s1=1;s1 +=1;可以正确编译,因为s1 + =1;相当于 s1 = (short)(s1+1);其中有隐含的强制类型转换。
分析: 可以看出short s1 = 1是可以执行成功的
s1 = s1 + 1呢? 可以看出来,是不行的,因为s1是short类型的而1是int类型的。
可以这样子改:
short s1 = 1