Continuer et la rupture peut modifier le flux d'exécution de la boucle, mais en plusieurs boucles, ces deux instructions ne peuvent pas passer directement de la boucle intérieure à la boucle extérieure. Dans le langage C, plusieurs sauts en boucle peuvent être réalisés grâce à des instructions GOTO, mais l'utilisation des instructions GOTO dans une structure non boucle entraînera un désordre de la structure du programme et la lisibilité sera pire. Par conséquent, Java a inventé une déclaration de poursuite et de rupture étiquetée, qui est en fait une instruction GOTO avec des restrictions spécifiquement pour les boucles.
Habituellement, l'instruction Continuer (ou Break) que nous utilisons n'a pas d'étiquette, ce qui signifie que l'instruction CONSTER (ou BRISE) est exécutée dans la boucle actuelle par défaut. Une boucle avec étiquettes donne en fait un nom à la boucle. Lorsque vous utilisez l'instruction "Continuer (ou Break) + Tag", il exécute en fait l'instruction Continuer (ou Break) dans la boucle où se trouve la balise.
Utilisons maintenant trois exemples pour illustrer une boucle étiquetée.
1. Double boucle sans étiquettes
package javaleanning; public class lableTest {public static void main (string [] args) {for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {System.out.print ("(" + i + "," + j + ")");} system.out.println ();}}}Résultats en cours d'exécution
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9)
(1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9)
(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7) (2,8) (2,9)
(3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7) (3,8) (3,9)
(4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7) (4,8) (4,9)
(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7) (5,8) (5,9)
(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7) (6,8) (6,9)
(7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7) (7,8) (7,9)
(8,0) (8,1) (8,2) (8,3) (8,4) (8,5) (8,6) (8,7) (8,8) (8,9)
(9,0) (9,1) (9,2) (9,3) (9,4) (9,5) (9,6) (9,7) (9,8) (9,9)
2. Double boucle avec étiquettes, déclaration "Break + Label"
Dans cet exemple, c'est un double pour la boucle. Nous étiquetons le début de la boucle extérieure (c'est-à-dire donner un nom à la boucle extérieure) "extérieur". Lorsque vous utilisez "Break OUTERCYLY" dans la boucle intérieure, il est équivalent à utiliser directement l'instruction BAKE dans la boucle OUTERCYLY.
Package Javaleanning; classe publique lableTest {public static void main (String [] args) {extercycle: for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {if (j == 5) {briser extercycle;} system.out.print ("(" + i + "," + j + ") ");} System.out.println ();}}}Résultats en cours d'exécution
(0,0) (0,1) (0,2) (0,3) (0,4)
3. Double boucle avec étiquettes, instruction "Continuer + Label"
Dans cet exemple, c'est un double pour la boucle. Nous étiquetons le début de la boucle extérieure (c'est-à-dire donner un nom à la boucle extérieure) "extérieur". Lorsque vous utilisez "Continuer OUTERCycle" dans la boucle intérieure, il est équivalent à utiliser directement l'instruction Continuer dans la boucle OUTERCYLY.
package javaleAnning; public class lableTest {public static void main (string [] args) {exterCycle: for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {if (j == 5) {continu ");} System.out.println ();}}}Résultats en cours d'exécution
(0,0) (0,1) (0,2) (0,3) (0,4) (1,0) (1,1) (1,2) (1,3) (1,4) (2,0) (2,1) (2,2) (2,3) (2,4) (3,0) (3,1) (3,2) (3,3) (3,4). (4,3) (4,4) (5,0) (5,1) (5,2) (5,3) (5,4) (6,0) (6,1) (6,2) (6,3) (6,4) (7,0) (7,1) (7,2) (7,3) (7,4) (8,0) (8,1) (8,2) (8,3) (8,4). (9,1) (9,2) (9,3) (9,4)
Remarque: les résultats en cours d'exécution réels sont tous affichés sur une seule ligne (c'est-à-dire qu'aucune instruction de rupture de ligne n'est exécutée). Ces résultats d'affichage sont désormais uniquement pour les raisons de la mise en page.