Java: short a=1; a=a+1; 编译报错

最近练习是遇到的一个小问题,作分享。

 short a=1; a=a+1; 编译报错

java里a=a+1会自动转型成int,如果不进行显示转换,而是将int强转short就会报错.

正确写法为   short a=1; a=(short)(a+1);  (显示转换)

    反过来,short→int可以不用写,会自动转换

规则:隐式类型转换可以从小到大自动转,即byte→short→int→long;如果反过来会丢失精度,必须进行显示类型转换

猜你喜欢

转载自blog.csdn.net/DragonGirI/article/details/81587525