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
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