Java 之 i=i++

Posted on 2009-06-29 12:28  云之上  阅读(190)  评论(0)    收藏  举报

非常容易错的一个点

比如写下面这个

 

public class Test1 {
 /**
  * @param args
  */
 public static void main(String[] args) {
  int i =0;
  i = i++;
  System.out.println(i);

 }

}

 

结果是:

0

 

为什么呢?

因为Java中的处理与C不同

Java中  i = i++ 从新分配一个j = i =0; 另一个k = i+1 ,处理后i =j =0,k =i+1 =1(free)所以最后的结果神奇的为0

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3