short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
其中第一个是错误的,无法编译通过,因为1是int类型,s1+1仍然是int类型,和short类型不符合;
第二个可以编译通过,因为+=有内置的类型转换,
s1+=1相当于s1=(short)(s1+1);
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
其中第一个是错误的,无法编译通过,因为1是int类型,s1+1仍然是int类型,和short类型不符合;
第二个可以编译通过,因为+=有内置的类型转换,
s1+=1相当于s1=(short)(s1+1);