short与int
来源:百度知道 编辑:UC知道 时间:2024/05/15 09:43:54
short s1 = 1; s1 = s1 + 1,错误,int不能转换为short.
为什么 short s1 = 1; s1 += 1正确?
s1 += 1跟 s1 = s1 + 1还有区别吗???
为什么 short s1 = 1; s1 += 1正确?
s1 += 1跟 s1 = s1 + 1还有区别吗???
+= 是运算符的重载
而 a=a+1;的+是 普通运算符
运算符重载后更强大.
比如方法重载,你可以做一些判断在里面.ok
s1 = s1 + 1
1的默认类型是int,你需要对相加后的记过做强制转换
short s1 = 1
系统自动转换了
因为short只要两个byte,而int是4个byte,你要强制转化的时候如果成功,那么int就会丢失前面的16个Bit这种转换显然是不等价的,是错误的。而在你后面的1因为你没有限定这是一个什么类型的数字,就会根据你前面的s1来自变化。
s1+=1 和你s1 =s1 +1是一样的。