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

如题所述

结果是不一样的,因为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个回答  2010-01-03
他们的结果是一样的,就是表现形式不同而已
相似回答