转自:
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
short:
属于java的基本数据类型,可以直接赋值使用,属于短整型数据。short是16位的以二进制补码 表示的整数,其取值范围为-2^15到2^15-1
int:
整数类型。在计算机编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。在一般的电脑中,int占用4字节,32比特
今天面试遇到一个奇怪的题目,现将其记录如下:
short s1 = 1; s1 = s1 + 1; 由于1是int类型 所以s1+1运算结果也是int 型 需要强制转换类型才能赋值给short型 ---------------------------------------------------------------------- short s1 = 1; s1 += 1;可以正确编译 因为s1+= 1;相当于s1 = (short)(s1 + 1); 其中有隐含的强制类型转换



