88 votes

Comment sortir d'une boucle while en Java ?

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

    }
}

190voto

dacwe Points 26160

Utilisez break :

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

Cependant, si votre code ressemble exactement comme vous l'avez précisé, vous pouvez utiliser un while et changez la condition en obj != null :

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

7voto

Dev Points 4098
while(obj != null){
  // statements.
}

7voto

Chris J Points 12904

break est ce que vous recherchez :

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

alternativement, restructurez votre boucle :

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

ou :

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

3voto

Xavi López Points 14801

Trouver un while...do construire avec while(true) dans mon code me ferait saigner les yeux. Utilisez un standard while à la place :

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

Et jetez un coup d'oeil au lien que Yacoby a fourni dans son réponse et celui-là aussi. Sérieusement.

Les déclarations while et do-while

3voto

VikingGlen Points 124

Vous pouvez effectuer des tests logiques à conditions multiples dans le cadre de la vérification while() en utilisant les mêmes règles que pour toute vérification logique.

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

fonctionne, tout comme

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

sont valides. Les conditionnels sont vérifiés à chaque itération de la boucle. Dès qu'une condition ne correspond pas, la boucle while() est quittée. Vous pouvez également utiliser break ;

while ( value > 5 ) {  
    if ( value > 10 ) { break; }  
    ...  
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X