web-dev-qa-db-fra.com

Comment rompre une boucle while d'une condition if à l'intérieur de la boucle while?

Je veux rompre une boucle while du format ci-dessous qui a une instruction if. Si cette instruction if est vraie, la boucle while doit également se rompre. Toute aide serait appréciée.

while(something.hasnext()) {
   do something...
   if(contains something to process){
      do something
      break if condition and while loop
   }
}
15
Coder2018

Le mot clé break fait exactement cela. Voici un exemple artificiel:

public static void main(String[] args) {
  int i = 0;
  while (i++ < 10) {
    if (i == 5) break;
  }
  System.out.println(i); //prints 5
}

Si vous utilisiez réellement des boucles imbriquées, vous seriez en mesure d'utiliser des étiquettes .

39
assylias
while(something.hasnext())
do something...
   if(contains something to process){
      do something...
      break;
   }
}

Utilisez simplement l'instruction break;

Par exemple: cela affiche simplement "Breaking ..."

while (true) {
     if (true) {
         System.out.println("Breaking...");
         break;
     }
     System.out.println("Did this print?");
}
5
rahul pasricha

Un "si" n'est pas une boucle. Utilisez simplement la coupure à l'intérieur du "si" et elle sortira du "tout".

Si vous avez besoin d'utiliser des boucles imbriquées authentiques, Java a le concept de rupture étiquetée. Vous pouvez mettre une étiquette avant une boucle, puis utiliser le nom de l'étiquette comme argument pour rompre Il se cassera en dehors de la boucle étiquetée.