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),因此可以正常编译。

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号