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
本文详细解析了一段Java代码中自增运算符的工作原理及执行流程。通过具体实例解释了i=i++操作如何影响变量i的值,并给出了最终输出结果为3:2的原因。
9907

被折叠的 条评论
为什么被折叠?



