short s1 = 1; s1 = s1 + 1;是否正确?short s1 = 1; s1 += 1;是否正确?

short s1 = 1; s1 = s1 + 1;是否正确?

不正确,对于short s1 = 1; s1 = s1 + 1;,由于1是int型,所以s1 = s1 + 1也是int型,但是s1是short型,需要强制类型转化才能赋值给short型;

short s1 = 1; s1 += 1;是否正确?

正确,short s1 = 1; s1 += 1;+= 操作符会进行隐式自动类型转换,是JAVA规定的运算符;Java编译器会对他进行特殊处理 ,将s1 += 1转换成s1 = (short)(s1 + 1),因此可以正常编译。

posted @ 2022-04-07 15:25  夏醉浅梦  阅读(115)  评论(0)    收藏  举报