猿问

a++、++a、a+=1和a=a+1?

Java中,a++、++a、a+=1这3个和a=a+1有区别吗(a++和++a区别不用说了)?如果这3个和a=a+1有区别,那么,什么情况下分别使用效果会不一样?最好可以附上例子,谢谢!

fafagagag
浏览 5108回答 4
4回答

mtexiy_Sss

a=a+1,是先取a的值,在进行加加操作。它等同于a++;a+=1,是先对a进行加1操作,在返回a的值。它等同于++a;另外a++ 直接对内存中的值进行加1并且将结果写入内存,更效率a=a+1  先申请一块内存空间,分别把变量a 和常量1 放入累加器中计算后,再把结果放到内存中.最后,这三类指令在编译成汇编指令的时候也会有一定的差异,导致运行效率的变化,有兴趣可以去尝试一下。

最终幻想ssd

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

a += 1; 这个和 a = a +1 ; 这两个是一样的 只不过一个是简写++a  和   a++  这两个区别在于运算的先后  比如   b = ++a;   这个是a先自增 然后才赋值    b = a++; 这个是先赋值 后自增

KXFT

++a和a=a+1的关系就相当于a++和++a的关系,其他的没有什么区别,都是更加简洁的写法
随时随地看视频慕课网APP

相关分类

Java
我要回答