Wie beende ich eine while-Schleife in Java?

83

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

    }
}
BalaB
quelle

Antworten:

180

Verwendung break:

while (true) {
    ....
    if (obj == null) {
        break;
    }
    ....
}

Wenn Ihr Code jedoch genau so aussieht , wie Sie es angegeben haben, können Sie eine normale whileSchleife verwenden und die Bedingung in Folgendes ändern obj != null:

while (obj != null) {
    ....
}
Dacwe
quelle
7
while(obj != null){
  // statements.
}
Riz
quelle
7

break ist was Sie suchen:

while (true) {
    if (obj == null) break;
}

Alternativ können Sie Ihre Schleife umstrukturieren:

while (obj != null) {
    // do stuff
}

oder:

do {
    // do stuff
} while (obj != null);
Chris J.
quelle
3

Wenn ich ein while...doKonstrukt mit while(true)in meinem Code finde, bluten meine Augen. Verwenden Sie whilestattdessen eine Standardschleife :

while (obj != null){
    ...
}

Und werfen Sie einen Blick auf den Link, den Yacoby in seiner Antwort angegeben hat , und auch diesen. Ernsthaft.

Die while- und do-while-Anweisungen

Xavi López
quelle
3

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; }  
    ...  
}  
VikingGlen
quelle
2

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.

Omar Faroque Anik
quelle
Dies ist die genaue und nützliche Antwort!
Noor Hossain
2

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.

Yacoby
quelle
0

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;
        }
    }
}
Ankit Sood
quelle
0

Sie können "break" verwenden, um die Schleife zu unterbrechen, wodurch die Schleife nicht mehr Bedingungen verarbeiten kann


quelle
0

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

HussainOmer
quelle