Comment quitter une boucle while en Java?

86

Quelle est la meilleure façon de quitter / terminer une boucle while en Java?

Par exemple, mon code est actuellement le suivant:

while(true){
    if(obj == null){

        // I need to exit here

    }
}
BalaB
la source

Réponses:

184

Utilisez break:

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

Cependant, si votre code ressemble exactement à ce que vous avez spécifié, vous pouvez utiliser une whileboucle normale et changer la condition en obj != null:

while (obj != null) {
    ....
}
dacwe
la source
7
while(obj != null){
  // statements.
}
Riz
la source
7

break est ce que vous recherchez:

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

sinon, restructurez votre boucle:

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

ou:

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

Trouver une while...doconstruction avec while(true)mon code ferait saigner mes yeux. Utilisez whileplutôt une boucle standard :

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

Et jetez un œil au lien fourni par Yacoby dans sa réponse , et celui-ci aussi. Sérieusement.

Déclarations while et do-while

Xavi López
la source
3

Vous pouvez effectuer plusieurs tests logiques de condition dans la vérification while () en utilisant les mêmes règles que dans n'importe quelle vérification logique.

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

fonctionne, tout comme

while ( value > 5 && value < 10 ) {  
    // do stuff  
}  

sont valides. Les conditions sont vérifiées à chaque itération de la boucle. Dès que l'un ne correspond pas, la boucle while () est quittée. Vous pouvez également utiliser break;

while ( value > 5 ) {  
    if ( value > 10 ) { break; }  
    ...  
}  
VikingGlen
la source
2

Vous pouvez utiliser "break", déjà mentionné dans les réponses ci-dessus. Si vous devez renvoyer des valeurs. Vous pouvez utiliser "return" comme le code ci-dessous:

 while(true){
       if(some condition){
            do something;
            return;}
        else{
            do something;
            return;}
            }

dans ce cas, ce while est sous une méthode qui renvoie une sorte de valeurs.

Omar Faroque Anik
la source
c'est la réponse exacte et usfeul!
Noor Hossain
2

Jetez un œil aux didacticiels Java ™ d'Oracle.

Mais fondamentalement, comme dit Dacwe , utilisez break.

Si vous le pouvez, il est souvent plus clair d'éviter d'utiliser break et de mettre la vérification comme condition de la boucle while, ou d'utiliser quelque chose comme une boucle do while. Ce n'est cependant pas toujours possible.

Yacoby
la source
0

si tu écris while (vrai) . cela signifie que la boucle ne s'arrêtera dans aucune situation pour arrêter cette boucle, vous devez utiliser l'instruction break entre le bloc while.

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
la source
0

Vous pouvez utiliser "break" pour rompre la boucle, ce qui ne permettra pas à la boucle de traiter plus de conditions


la source
0

Pour quitter une boucle while, utilisez Break;Cela ne permettra pas à la boucle de traiter les conditions placées à l'intérieur, assurez-vous de l'avoir à l'intérieur de la boucle, car vous ne pouvez pas la placer en dehors de la boucle

HussainOmer
la source