java 我已经尝试过此代码,并显示类型不匹配错误[重复]

roqulrg3  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(95)
    • 此问题在此处已有答案**:

Java: why do I receive the error message "Type mismatch: cannot convert int to byte"(5个答案)
Primitive type 'short' - casting in Java(11个答案)
51分钟前就关门了。
下面的代码不适用于short数据类型,但适用于int数据类型。它显示无法从int转换为short错误。

public class X {

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

}
yacmzcpb

yacmzcpb1#

乘法的结果是intlong,这取决于操作数(参见此处和此处的规范)。
在这种情况下,它会产生一个int,它不适合您试图将结果重新分配到的short
如果强制转换结果(x = (short)(x * 10)),则可以正常工作,但有溢出的风险。

相关问题