java 不兼容的类型 从int转换到short可能会有损失
项目场景
学习Java赋值运算符
问题描述
```javapublic class HelloWorld {public static void main(String[] args) {
short c1 = 1919;
c1 = c1 + 1;//此行报错
System.out.print("中共一大于" + (c1 + 1) + "年召开");
}
}3. ## 原因分析 1. 将大范围的数据赋值(如`int`)给小范围的数据(如`short`),可能会有精度损失,编译器不允许这样做。4. ## 解决方案 1. 将小范围数据类型提升(如将`short`提升为`int`) 2. 使用自增自减运算符,在自增自减运算中,隐含了强制类型转换 3. 直接强制类型抓换,将报错行代码修改为如下: 4. ```java c1 = (short) (c1 + 1);
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)