47 votes

La commande.. pause; en Java et si.?

Et si nous avions une instruction if à l'intérieur d'une boucle for, cela arrêterait-il la boucle ou la condition if...

Exemple:

 for (int i = 0; i < array.length; i++) {
    if (condition) {
        statement;
        break;
    }
}

12voto

semicontinuity Points 129

Vous pouvez également sortir de l'instruction « if » si vous le souhaitez, cela peut avoir du sens dans un tel scénario :

 for(int i = 0; i<array.length; i++)
{
CHECK:
   if(condition)
   {
     statement;
     if (another_condition) break CHECK;
     another_statement;
     if (yet_another_condition) break CHECK;
     another_statement;
   }
}

vous pouvez également sortir de l'instruction {} étiquetée :

 for(int i = 0; i<array.length; i++)
{
CHECK:       
   {
     statement;
     if (another_condition) break CHECK;
     another_statement;
     if (yet_another_condition) break CHECK;
     another_statement;
   }
}

8voto

Reza Points 874

La réponse choisie est presque correcte. si l' break est mélangée par label elle peut être utilisée dans l' if sans avoir besoin d'être dans une boucle. Le code suivant est complètement valide, se compile et s'exécute.

 public class Test {
    public static void main(String[] args) {
        int i=0;
        label:if(i>2){
            break label;
        }               
    }
}

Cependant, si nous supprimons l'étiquette, la compilation échoue.

3voto

Jeen Broekstra Points 5856

une break (et son compagnon, 'continue', également) fonctionne sur une boucle environnante. Une if n'est pas une boucle. Donc, pour répondre à votre question : le break dans votre exemple de code sortira de la boucle for

1voto

Cameron Skinner Points 19987

Cela arrêtera la boucle.

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