2016-07-23 6 views
1

Ich vor kurzem eine Frage über Code Review, wo ich um jemanden gebeten, um zu helfen, meinen Code zu optimieren. Ich wurde dort drüben gesagt, dass die Verwendung eines while (true) nicht nützlich war, und ich sollte es nicht tun. Ich kam dann vorbei, um es durchzusehen, und ich gründete genau diese Frage, wann ich eine verwenden sollte, und antwortete dann, man sieht normalerweise eine in Spielen.Nicht eine Weile (wahr) Schleife

Meine Frage ist wann sollte ich eine verwenden? Und wenn ich es jetzt nicht benutzen sollte, was sollte ich stattdessen verwenden?

+0

Es sieht für mich wie die Frage bereits auf Code-Review beantwortet wurde. (http://codereview.stackexchange.com/questions/135610/making-a-game-called-hack-exe) – Sam

+0

Der spezifische Einwand ist Schleifen, die "beschäftigt warten". Belegt-Warteschleifen sind Schleifen, die nichts anderes tun, als eine Bedingung wiederholt zu überprüfen. Dies könnte wie folgt formuliert werden: while (true) if (condition) break; ', wie Sie es in Ihrem Code getan haben, könnte aber auch als while (! Condition) geschrieben werden. (Beachten Sie das Semikolon). – Sam

Antwort

2

Manchmal müssen Sie die Entscheidung treffen, die Schleife in der Mitte des Schleifenkörpers zu beenden. Java bietet Schleifensteuerung an zwei Stellen - zu Beginn jeder Iteration (while und for) und am Ende jeder Iteration (do-while). Sie verwenden while (true) mit einem break in diesen Situationen:

while (true) { 
    ... // Do something 
    if (exitCondition) { 
     break; 
    } 
    ... // Do something else 
} 
+0

Oder ein 'while (true)' mit einem 'return' oder' for (;;) 'anstelle von' while (true) '+1 –

Verwandte Themen