Was ist der beste Weg, um eine while-Schleife in Java zu beenden / zu beenden?
Zum Beispiel lautet mein Code derzeit wie folgt:
while(true){
if(obj == null){
// I need to exit here
}
}
Antworten:
Wenn ich ein while...do
Konstrukt mit while(true)
in meinem Code finde, bluten meine Augen. Verwenden Sie while
stattdessen eine Standardschleife :
while (obj != null){
...
}
Und werfen Sie einen Blick auf den Link, den Yacoby in seiner Antwort angegeben hat , und auch diesen. Ernsthaft.
Sie können innerhalb der while () - Prüfung mehrere logische Bedingungstests nach denselben Regeln wie bei jeder logischen Prüfung durchführen.
while ( obj != null ) {
// do stuff
}
funktioniert genauso wie
while ( value > 5 && value < 10 ) {
// do stuff
}
sind gültig. Die Bedingungen werden bei jeder Iteration durch die Schleife überprüft. Sobald eine Übereinstimmung nicht mehr besteht, wird die while () - Schleife beendet. Sie können auch break verwenden.
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Sie können "break" verwenden, das bereits in den obigen Antworten erwähnt wurde. Wenn Sie einige Werte zurückgeben müssen. Sie können "return" wie folgt verwenden:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
In diesem Fall befindet sich this while unter einer Methode, die eine Art von Werten zurückgibt.
Schauen Sie sich die Java ™ Tutorials von Oracle an.
Aber im Grunde, wie Dacwe sagte , verwenden break
.
Wenn Sie können, ist es oft klarer, die Verwendung von break zu vermeiden und die Prüfung als Bedingung für die while-Schleife oder für eine do while-Schleife zu verwenden. Dies ist jedoch nicht immer möglich.
wenn du während schreibst (wahr) . Dies bedeutet, dass die Schleife in keiner Situation stoppt, um diese Schleife zu stoppen. Sie müssen die break-Anweisung zwischen while-Block verwenden.
package com.java.demo;
/**
* @author Ankit Sood Apr 20, 2017
*/
public class Demo {
/**
* The main method.
*
* @param args
* the arguments
*/
public static void main(String[] args) {
/* Initialize while loop */
while (true) {
/*
* You have to declare some condition to stop while loop
* In which situation or condition you want to terminate while loop.
* conditions like: if(condition){break}, if(var==10){break} etc...
*/
/* break keyword is for stop while loop */
break;
}
}
}
Sie können "break" verwenden, um die Schleife zu unterbrechen, wodurch die Schleife nicht mehr Bedingungen verarbeiten kann
Um eine while-Schleife zu verlassen, verwenden Sie Break;
Dies erlaubt keine Schleife, um Bedingungen zu verarbeiten, die innerhalb der Schleife platziert sind. Stellen Sie sicher, dass diese innerhalb der Schleife liegen, da Sie sie nicht außerhalb der Schleife platzieren können