如下short a =1;
为什么a=a+1; 不能通过a+=1; 可以通过
a+=1,在使用前已经进行了类型强制转换,可以理解为short a=(short)(a+1);a=a+1则类型不一,右边为int类型,需要强制转化才能编译。
Java运算类型提升的结果a=a+1等号右边 得到int类型 需要将结果强制转换为shorta+=1则不会发生运算类型提升