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;如果反过来会丢失精度,必须进行显示类型转换

posted @ 2018-08-11 16:12  龙雪  阅读(403)  评论(0编辑  收藏  举报