对于此代码:
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)