2017-07-12 43 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