Dans le code suivant, la déclaration break
sort de la déclaration if
uniquement ou hors de la boucle for
aussi?
J'en ai besoin de sortir de la boucle aussi.
for (int i = 0; i < 5; i++) {
if (i == temp)
// do something
else {
temp = i;
break;
}
}
Cela va sortir de la boucle. En fait, break
n'a aucun sens lorsque vous parlez de loops
, puisqu'ils cassent de la loop
entièrement, tandis que continue
ne va que sur le prochain iteration
] _.
Un break
_ ($ var] _ ne sort que de l'switch
, for
, while
ou do-while
construire. Il ne prend pas en compte if
déclarations.
Voir http://download.oracle.com/javase/tutorial/java/nutsandbolts/branch.html Pour plus de détails.
Cela sort aussi de la boucle.
Vous pouvez également utiliser des pauses étiquetées pouvant sortir des boucles extérieures (et des blocs de code arbitraires).
looplbl: for(int i=;i<;i++){
if (i == temp)
// do something
else {
temp = i;
break looplbl;
}
}
break
est de sortir de toute boucle.
Il va toujours sortir de la boucle.
La pause ne fait jamais référence à des déclarations si/autre. Il ne fait que référence à des boucles (si/pendant le moment) et des déclarations de commutation.
En règle générale break
déclaration éclate des boucles (for
, while
, et do...while
) et switch
déclarations.
In Java Il y a 2 variantes de break
.
Labeled break
Il se déchaîne de la boucle extérieure où vous mettez la robe.
breakThis: for(...){
for(...){
...
break breakThis; // breaks the outer for loop
}
}
Unlabeled break
C'est la déclaration que vous avez utilisée dans votre question.
Il enfreint la boucle dans laquelle il est écrit. Généralement la boucle intérieure.
Cela vous briserait de la boucle. Généralement pause L'instruction est utilisée pour optimiser l'heure de fonctionnement de votre programme. Signifie que lorsque la condition donnée est remplie, utilisez pause Énoncé de manière à ce que cela vous emmène hors de la boucle et ignore les itérations restantes.