JAVA类型转换

来源:百度知道 编辑:UC知道 时间:2024/06/23 03:20:07
short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 += 1;有什么错?
为啥
我想知道为什么s1+=1就没有错

第一个前面几位老兄都解释清楚了,俺就不说了
你是不是不理解s1+=1是什么意思?
s1+=1也就是s1=short(s1+1);
应该是这样了呵

数字1是默认是int型的.

所以在这里面,你要做一个向下类型转换.

把1转成short型

在将整数表达式赋值给变量时,结果默认为int类型的。
所以要对表达式的结果进行强制转换。
s1 = (short)(s1 + 1);

一:1是int型,s1是short,它们的和就是int型的,所以应该是这样s1=(short)(s1+1)
二:没有错