第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

posted @ 2010-01-17 02:00  2xd  阅读(991)  评论(0编辑  收藏  举报