我们知道:数据类型之间是由范围较小时的数据类型自动转换到范围较大的数据类型。
(1)而在s=s+1,因为s是short数据类型,1是int数据类型。
s+1=1+1=2(int类型)
short——>转化为int类型
int类型再赋值给short时 会出现数据类型转换错误。
解决办法很简单:进行强制数据类型转换就可以了!s=(short)(s+1);
(2)s+=1相当于 s = (s的数据类型)(s + 1);+=会进行内部的处理,隐含了一个强制类型转换的过程。
谈谈short s=1; s+=1; s=s+1的区别
最新推荐文章于 2024-04-14 17:42:46 发布