关于 一道i++ ++i 的问题

public class Difficult {

public static void main(String[] args)
    {
              int i=2;
              i=i++;
              int j=i++;
              System.out.println(i+":"+j);
     }
}


看到很多的论坛贴上这个,这里我也解释下:


答案是 3:2

这里主要令大家困惑的是i=i++其实是这样的,
(i=i++)我们知道在这样情况下,先将i的值拷贝下(这里拷贝下2,付给i),然后再运行i++
所以过程是:
i=3(i++)
然后是i=2,那么刚才的i=3就丢失了
所以:
结果是i=2

你可能感兴趣的:(J#)