我最近問了一個關於代碼審查的問題,其中我要求某人幫助優化我的代碼。我被告知在那裏使用while (true)
沒有用,我不應該這樣做。然後我過來仔細觀察,然後提出確切的問題,關於何時使用一個問題,然後回答說,你通常會在遊戲中看到一個問題。不使用一段時間(true)循環
我的問題是我應該什麼時候使用一個?如果我現在不應該使用它,我應該用什麼來代替?
我最近問了一個關於代碼審查的問題,其中我要求某人幫助優化我的代碼。我被告知在那裏使用while (true)
沒有用,我不應該這樣做。然後我過來仔細觀察,然後提出確切的問題,關於何時使用一個問題,然後回答說,你通常會在遊戲中看到一個問題。不使用一段時間(true)循環
我的問題是我應該什麼時候使用一個?如果我現在不應該使用它,我應該用什麼來代替?
有時您需要決定退出循環體中間的循環。 Java在兩個地方提供循環控制 - 每次迭代開始時(while
和for
)以及每次迭代結束時(do-while
)。您可以使用while (true)
在這些情況下,一個break
:
while (true) {
... // Do something
if (exitCondition) {
break;
}
... // Do something else
}
或'while(true)'帶'return'或'for(;;)'而不是'while(true)'+1 –
它看起來對我來說,這個問題已經在代碼審查答覆。 (http://codereview.stackexchange.com/questions/135610/making-a-game-called-hack-exe) – Sam
具體的反對意見是循環「忙等待」。繁忙的等待循環是除了重複檢查條件外什麼也不做的循環。這可以表示爲while(true)if(condition)break;',就像你在代碼中做的那樣,但同樣可以寫成while(!condition);'(注意分號)。 – Sam