short指令错误的是?
答:如题就是一个short指令错误的考点:short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1;有错吗?
下面是解答过程:
前者不正确,后者正确。对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算的结果也是int类型,需要强制类型转换后才可以赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1 += 1;相当于s1 = (short)(s1 + 1),里面已经包含了强制类型转换。