Question Comment puis-je quitter 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

    }
}

58
2017-10-31 09:15


origine


Réponses:


Utilisation break:

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

Cependant, si votre code a l'air exactement comme vous avez spécifié, vous pouvez utiliser une normale while boucle et changer la condition à obj != null:

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

146
2017-10-31 09:16



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

6
2017-10-31 09:17



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);

3
2017-10-31 09:18



Trouver un while...do construire avec while(true) dans mon code ferait maigner les yeux. Utiliser un standard while boucle à la place:

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

Et regardez le lien fourni par Yacoby dans son répondreet celui-ci aussi. Sérieusement.

Les déclarations de temps et faire


3
2017-10-31 09:19



Jetez un oeil à la Tutoriels Java par Oracle.

Mais fondamentalement, comme Dacwe a dit, utilisation break.

Si vous le pouvez, il est souvent plus facile d'éviter d'utiliser break et de placer le chèque comme condition de la boucle while ou d'utiliser une boucle do while. Ce n'est pas toujours possible cependant.


2
2017-10-31 09:16



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 à travers la boucle. Dès que l'on ne correspond pas, la boucle while () est sortie. Vous pouvez également utiliser la pause;

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

2
2017-12-10 04:32



Vous pouvez utiliser "break", déjà mentionné dans les réponses ci-dessus. Si vous devez retourner certaines 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 passe sous une méthode qui renvoie des types de valeurs.


0
2017-10-13 19:58



si tu écris tandis que (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 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;

    }
    }

}

-1
2018-04-20 10:18