考慮下面的代碼:爲什麼這段代碼進入無限循環?
public class Game {
public static void main(String[] args) {
int x = 0;
while (x < 1) {
x = x++;
}
}
}
隨着我的編譯器的代碼進入無限循環,但是爲什麼呢?
首先,我們的地方x
價值爲x
和只有那麼我們就加1,x
,事後我預料1 < 1
會是假的,while循環將終止......
但不,這不會發生。
那麼可能是無限循環的原因是什麼?
聽起來像一個調試器的優秀問題。穿過它。或者把一些日誌語句放在那裏。 – nhgrif
'x = x ++;'留下''x'不變 - 您增加它,然後用OLD值(增加前的值)替換它。 –
-1沒有檢出「相關」(第二個問題包含答案) – sashkello