JAVA中short和short相加自动转化为int

来源:互联网 发布:highcharts zh cn.js 编辑:程序博客网 时间:2024/05/16 14:35

对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。

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



精度小于int的数值运算的时候都回被自动转换为int后进行计算


所以,下面的代码会报编译错误

short s1 = 1;
short s2 = 1;
s1= (s1+s2);

必须改成:

short s1 = 1;
short s2 = 1;
s1= (short)(s1+s2);


但是,s1+=4;是正确的


0 0
原创粉丝点击