JAVA int类型转short类型

2025-04-08 10:35:52
推荐回答(1个)
回答1:

如果整数运算子,拥有最少一个型别 long 的操作数时,那这运算会以 64-位精度来实现,而这数值运算子的结果是型别 long 的。如果其它的操作数不是 long,它会先被以数值升级(§5.6)宽化(§5.1.4)到型别 long。否则,运算会以 32-位精度来实现,而这数值运算子的结果是型别 int 的。如果有操作数不是 int,它会先被以数值升级宽化到 int 型别。


注意最后一句。


所以,a+(short)10运算完之后,要再次强制转换成short类型的才行。

a=(short) (a+(short)10);