java中+=和=+的区别

这两种方式有什么区别,第一种运行成功,第二种报错了。short a=3; a+=2;
short a=3; a=a+2;

第1个回答  2017-11-20
一个是加2,一个是等于正2
第2个回答  2017-11-09
上面的答案简单看了一眼,感觉有点啰嗦,其实就一点
第一种情况不存在类型转换问题 自动将2视为跟a相同的类型
而第二种情况a是short类型的 2是默认类型 即int类型 byte short long类型的和int类型的数据运算的时候自动将结果转化为int类型,这时a是short类型而 计算结果是int类型 需要做类型转换才可以本回答被提问者采纳
第3个回答  推荐于2017-11-18
short a=3; 短整型
short b=3; 短整型
short c=3; 短整型
int d=3; 整型
a+=2; //这种方式是累加赋值,相当于 a=(short) (a+2);
b=+2; //这种方式是赋值,相当于b=2;跟b=-2;是一样的效果!
c=(short) (c+2); //这种方式也是累加赋值,跟a一样,相当于c+=2;,之所以报错是由于类型问题,你这样强制转换就不报错了!
d=d+2; //如果换成整数型就不会报错了!本回答被网友采纳
第4个回答  2020-11-13
付款的时候选择就可以了
相似回答