Quel est le meilleur moyen 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
}
}
Utilisez break
:
while (true) {
....
if (obj == null) {
break;
}
....
}
Cependant, si votre code ressemble exactement à celui que vous avez spécifié, vous pouvez utiliser une boucle while
normale et modifier la condition en obj != null
:
while (obj != null) {
....
}
while(obj != null){
// statements.
}
break
est ce que vous cherchez:
while (true) {
if (obj == null) break;
}
alternativement, restructurez votre boucle:
while (obj != null) {
// do stuff
}
ou:
do {
// do stuff
} while (obj != null);
Trouver une construction while...do
avec while(true)
dans mon code me ferait saigner les yeux. Utilisez plutôt une boucle standard while
:
while (obj != null){
...
}
Et jetez un oeil sur le lien fourni par Yacoby dans son 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 toute vérification logique.
while ( obj != null ) {
// do stuff
}
fonctionne, comme le fait
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'on ne correspond pas, la boucle while () est quittée. Vous pouvez également utiliser la pause;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Jetez un coup d’œil à tutoriels Java ™ d’Oracle.
Mais fondamentalement, comme dacwe a dit , utilisez break
.
Si vous le pouvez, il est souvent plus clair d'éviter d'utiliser break et de placer le contrôle comme condition de la boucle while ou d'utiliser quelque chose comme une boucle do while. Ce n'est pas toujours possible cependant.
si vous écrivez while (true). Cela signifie que la boucle ne s'arrêtera dans aucune situation. Pour arrêter cette boucle, vous devez utiliser l'instruction break entre les blocs 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 "pause", 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, cela se trouve sous une méthode qui renvoie une sorte de valeur.