short s1 = 1; s1 = s1 + 1;有错吗?那short s1 = 1; s1 += 1;是否正确?又是这种看似简单确荣誉出问题的知识点,也是最经常遇到的一个基础java面试题,不管原来知道不知道,现在告诉你,赶紧记牢面试无忧!

java int和short数据类型

short s1 = 1; s1 = s1 + 1与short s1 = 1; s1 += 1;分析

前者是不正确的,对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。
后者是正确的,short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。
 

本题涉及java知识点分析

short 数据类型

short 数据类型是 16 位、有符号的以二进制补码表示的整数;
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;

 

+=运算符

对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

以上是思博网络为广大奔走在面试以及学习阶段的java同行整理的关于Java int和short数据类型使用可能遇到的面试问题以及重要知识点,可能存在不足或者需要补充,您有什么观点和认识,欢迎指正补充,大家一起快乐学Java,高薪在就业!
如果遇到什么疑问或者困惑,可以联系我们,乐于与您分享讨论!