Java 之 i=i++

Posted on 2009-06-29 12:28  云之上  阅读(182)  评论(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

Copyright © 2024 云之上
Powered by .NET 8.0 on Kubernetes