Le Java continue et brise les mots-clés

1. Vue d'ensemble

Dans cet article rapide, nous présenterons continuer et casser les mots-clés Java et nous concentrerons sur la façon de les utiliser dans la pratique.

En termes simples, l'exécution de ces instructions provoque un branchement du flux de contrôle actuel et met fin à l'exécution du code dans l'itération actuelle.

2. La déclaration break

L' instruction break se présente sous deux formes: sans étiquette et étiquetée.

2.1. Pause sans étiquette

Nous pouvons utiliser l'instruction non étiquetée pour terminer une boucle for , while ou do- while ainsi que le bloc switch-case :

for (int i = 0; i < 5; i++) { if (i == 3) { break; } }

Cet extrait de code définit une boucle for qui est censée être répétée cinq fois. Mais lorsque le compteur est égal à 3, la condition if devient vraie et l' instruction break termine la boucle. Cela provoque le transfert du flux de contrôle vers l'instruction qui suit après la fin de la boucle for .

En cas de boucles imbriquées, une instruction break sans étiquette ne termine que la boucle interne dans laquelle elle se trouve . Les boucles externes continuent l'exécution:

for (int rowNum = 0; rowNum < 3; rowNum++) { for (int colNum = 0; colNum < 4; colNum++) { if (colNum == 3) { break; } } }

Cet extrait de code a imbriqué des boucles for . Lorsque colNum est égal à 3, si la condition prend la valeur true et l' instruction break entraîne la fin de la boucle for interne . Cependant, la boucle externe for continue à être itérée.

2.2. Pause étiquetée

Nous pouvons également utiliser une instruction break étiquetée pour terminer une boucle for , while ou do- while. Une rupture étiquetée termine la boucle externe .

À la fin, le flux de contrôle est transféré à l'instruction immédiatement après la fin de la boucle externe:

compare: for (int rowNum = 0; rowNum < 3; rowNum++) { for (int colNum = 0; colNum < 4; colNum++) { if (rowNum == 1 && colNum == 3) { break compare; } } }

Dans cet exemple, nous avons introduit une étiquette juste avant la boucle externe. Lorsque rowNum est égal à 1 et colNum est égal à 3, la condition if prend la valeur true et l' instruction break met fin à la boucle externe.

Le flux de contrôle est ensuite transféré à l'instruction suivant la fin de la boucle for externe .

3. La déclaration continue

L' instruction continue se présente également sous deux formes: sans étiquette et étiquetée.

3.1. Sans étiquette continue

Nous pouvons utiliser une instruction non étiquetée pour contourner l'exécution du reste des instructions dans l'itération actuelle d'une boucle for , while ou do- while. Il passe à la fin de la boucle interne et continue la boucle :

int counter = 0; for (int rowNum = 0; rowNum < 3; rowNum++) { for (int colNum = 0; colNum < 4; colNum++) { if (colNum != 3) { continue; } counter++; } }

Dans cet extrait de code , chaque fois que colNum n'est pas égal à 3, l' instruction continue sans étiquette ignore l'itération actuelle, contournant ainsi l'incrémentation du compteur de variable dans cette itération. Cependant, la boucle externe for continue à itérer. Ainsi, l'incrément du compteur se produit uniquement lorsque colNum est égal à 3 à chaque itération de la boucle for externe .

3.2. Étiqueté continuer

Nous pouvons également utiliser une instruction continue étiquetée qui ignore la boucle externe. Lors du saut, le flux de contrôle est transféré à la fin de la boucle externe, poursuivant efficacement l'itération de la boucle externe:

int counter = 0; compare: for (int rowNum = 0; rowNum < 3; rowNum++) { for (int colNum = 0; colNum < 4; colNum++) { if (colNum == 3) { counter++; continue compare; } } }

Nous avons introduit une étiquette juste avant la boucle externe. Chaque fois que colNum est égal à 3, le compteur de variables est incrémenté. L' instruction continue étiquetée fait sauter l'itération de la boucle externe for .

Le flux de contrôle est transféré à la fin de la boucle for externe , qui se poursuit avec l'itération suivante.

4. Conclusion

Dans ce didacticiel, nous avons vu différentes façons d'utiliser les mots-clés break et continuer en tant qu'instructions de branchement en Java.

Le code complet présenté dans cet article est disponible à l'adresse over sur GitHub.