我一直在经历一些Java拼图,发现这一个。据我所知,它应该打印100,但它打印0,有人可以解释这里发生了什么?谢谢。循环内部的递增操作
int j = 0;
for (int i = 0; i < 100; i++)
j = j++;
System.out.println(j);
我一直在经历一些Java拼图,发现这一个。据我所知,它应该打印100,但它打印0,有人可以解释这里发生了什么?谢谢。循环内部的递增操作
int j = 0;
for (int i = 0; i < 100; i++)
j = j++;
System.out.println(j);
这是一个循环。
它从0计数到99对i(递增1)
输出为“0”作为对循环只包括递增而不是SYSOUT!
j = j ++导致结果为0,因为它等于 j = j = j + 1,它在增加后重新指定j的旧状态。
当你调试这个,有什么意想不到的事情发生? – David
没有太多迭代100次,并增加'j'1和最终打印值'j' – Blasanka
确实它只打印100 – kleopi