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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 22:45:49
shorta=1,a=a+1和a+=1有什么区别shorta=1,a=a+1和a+=1有什么区别shorta=1,a=a+1和a+=1有什么区别结果是不一样的,因为a=a+1;这句代码是错误的,a本身

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

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;
所以是错误的.