1. 项目场景

    1. 学习Java赋值运算符
  2. 问题描述

    1. ```java
      public 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);