short s1 = 1; s1 = s1 + 1; 有什么错?short s1 = 1; s1 += 1; 为什么对?

Deadly 提交于 2019-11-27 01:17:52

下面先看代码:

public static void main(String[] args) {
        Short i = 1;
        i = i + 1;
        System.out.println(i);
    }

  是因为i+1运算时会自动提升表达式的类型,因为 i 是 short 类型,1是 int 类型的,所以 i 自动提升为 int 类型的,运算过后再赋值给 short 为型的 i ,编译器这个时候会报告强制转换类型错误。

public static void main(String[] args) {
        short i = 1;
        i += 1;
        System.out.println(i);
    }

 

对于short s1= 1; s1 += 1; 因为 += 是java语言的内置的运算符,是一种特殊的运算,不会有编译错误,不会出错。

 

细节决定成败!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!