2017-07-12 27 views
-3

我一直在经历一些Java拼图,发现这一个。据我所知,它应该打印100,但它打印0,有人可以解释这里发生了什么?谢谢。循环内部的递增操作

 int j = 0; 
     for (int i = 0; i < 100; i++) 
     j = j++; 
     System.out.println(j); 
+0

当你调试这个,有什么意想不到的事情发生? – David

+0

没有太多迭代100次,并增加'j'1和最终打印值'j' – Blasanka

+0

确实它只打印100 – kleopi

回答

0

这是一个循环。

它从0计数到99对i(递增1)

输出为“0”作为对循环只包括递增而不是SYSOUT!

j = j ++导致结果为0,因为它等于 j = j = j + 1,它在增加后重新指定j的旧状态。

+0

0到99不是1到99 – Blasanka

+0

输出是0而不是99 –

+0

谢谢..得到这个:) – ManishNegi