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
}
}
Réponses:
Trouver une while...do
construction avec while(true)
mon code ferait saigner mes yeux. Utilisez while
plutô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.
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; }
...
}
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.
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.
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;
}
}
}
Vous pouvez utiliser "break" pour rompre la boucle, ce qui ne permettra pas à la boucle de traiter plus de conditions
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