1.
short s=1;s=s+1;与short s=1;s+=1;的区别
为什么前者编译不通过,而后者可以。
+=是一个扩展赋值运算符,隐含了一个强制类型转换,如下:
s+=1;
不是等于s=s+1;
而是等于s=(s的数据类型)(s+1);
即short s = 1;s+=1;等于
short s = 1;s =(short)s+1;