我不明白为什么我得到编译器错误"Lossy conversion from int to short"



对于此代码:

public class Solution{
public static void main(String[] args){
short x = 10;
x =  x * 5;
System.out.print(x);
}
}

这将导致编译错误-"从int到short的有损转换">

为什么?Short的最大值为32767,10*5=50,那么我为什么会出现这个错误呢?

当您使用short、byte或char进行计算时,Java会自动将它们转换为int并返回int结果,因此您必须使用强制转换。x = (short) (x*5)

相关内容

  • 没有找到相关文章

最新更新