第2章 Java编程基础——FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别?
FAQ2.18 在实现x递增加1操作时, x++和++x有什么区别?
答:
x++
先取X的值,
再做自加即X+1
++x
先做自加操作即X+1
再取X的值
————————————————————————————————————————————————————————————————————————————————————————
x++是先进行条件的判断,如果条件成立再进行++操作
而
++x是每次都先进行++操作后,再进行条件语句的判断
————————————————————————————————————————————————————————————————————————————————————————
操作相同,都是将x加一,返回的值不同
x++返回的是原来x值
而++x返回的是原来x加一后的值
x++要使用一个temp变量记住原来的x值以作返回,如果在不需要返回值的时候,应该选择用 ++x
————————————————————————————————————————————————————————————————————————————————————————
x=x+1, x+=1, x++, 哪个效率最高?
x=x+1 效率最低
1)读取右x地址
2)x+1
3)读取左x地址
4)将右值传给左x
x+=1 其次
1)读取右x地址
2)x+1
3)将得到的值传给x(x的地址已经读出,故不用读取)
x++ 效率最高
1)读取右x地址
2)x自增1