short a=1,a=a+1和a+=1有什么区别

wa497945052 1年前 已收到1个回答 举报

可惜的脆弱 幼苗

共回答了13个问题采纳率:76.9% 举报

结果是不一样的,因为a=a+1;这句代码是错误的,a本身是short类型,而1天生就是int类型的,a与1做运算最终的结果是int类型的.所以无法直接将一个int型数据赋值给short型.
而a+=1;这句代码是正确的,它与a=1这种直接赋值的语句原理是一样的,他是先判断1是否在short类型数据的范围内,如果没有超出范围则直接赋给a.
a=a+1相当于:
short a=1;
int b=2;
a=b;
所以是错误的.

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.085 s. - webmaster@yulucn.com