我一直在經歷一些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