Java中,a++、++a、a+=1这3个和a=a+1有区别吗(a++和++a区别不用说了)?如果这3个和a=a+1有区别,那么,什么情况下分别使用效果会不一样?最好可以附上例子,谢谢!
4 回答
mtexiy_Sss
TA贡献5条经验 获得超3个赞
a=a+1,是先取a的值,在进行加加操作。它等同于a++;
a+=1,是先对a进行加1操作,在返回a的值。它等同于++a;
另外
a++ 直接对内存中的值进行加1并且将结果写入内存,更效率
a=a+1 先申请一块内存空间,分别把变量a 和常量1 放入累加器中计算后,再把结果放到内存中.
最后,这三类指令在编译成汇编指令的时候也会有一定的差异,导致运行效率的变化,有兴趣可以去尝试一下。
最终幻想ssd
TA贡献4条经验 获得超2个赞
a+=1和a=a+1基本没区别,a++ 和 ++a和a=a+1的区别是a++是先参加程序的运行再+1,而++a则是先+1再参加程序的运行。
举个例子来说:
a=2; b = a++; 运行后: b = 2,a =3
a=2; b = ++a; 运行后: b = 3,a =3;
Dp_Dp
TA贡献1条经验 获得超1个赞
a += 1; 这个和 a = a +1 ; 这两个是一样的 只不过一个是简写
++a 和 a++ 这两个区别在于运算的先后 比如 b = ++a; 这个是a先自增 然后才赋值
b = a++; 这个是先赋值 后自增
添加回答
举报
0/150
提交
取消