Continuar e quebrar podem alterar o fluxo de execução do loop, mas em vários loops, essas duas declarações não podem pular diretamente do loop interno para o loop externo. No idioma C, os saltos de vários loops podem ser alcançados por meio de declarações GoTo, mas o uso de instruções Goto em uma estrutura não loop fará com que a estrutura do programa seja desordenada e a legibilidade será pior. Portanto, Java inventou uma declaração de continuação e interrupção marcada, que é na verdade uma declaração Goto com restrições especificamente para loops.
Geralmente, a instrução Continuar (ou Break) que usamos não possui um rótulo, o que significa que a instrução Continuar (ou Break) é executada no loop atual por padrão. Um loop com rótulos realmente dá um nome ao loop. Ao usar a instrução "Continuar (ou quebrar) + tag", ele está realmente executando a instrução Continuar (ou Break) no loop em que a tag está localizada.
Agora vamos usar três exemplos para ilustrar um loop rotulado.
1. Loop duplo sem rótulos
pacote javaleanning; classe pública 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+")");Resultados de execução
(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.
Neste exemplo, é um duplo para loop. Rotamos o início do loop externo (ou seja, damos um nome ao loop externo) "Extertercycle". Ao usar o "Break OuterCycle" no loop interno, é equivalente usar diretamente a instrução Break no loop externo.
pacote javaleanning; public class lableTestest {public static void main (string [] args) {OuterCycle: for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {if (j == 5) {quebre o Out. Outcycle;} System.print.print ("(" (i+i "" "" " ");} System.out.println ();}}}Resultados de execução
(0,0) (0,1) (0,2) (0,3) (0,4)
3.
Neste exemplo, é um duplo para loop. Rotamos o início do loop externo (ou seja, damos um nome ao loop externo) "Extertercycle". Ao usar "Continue OuterCycle" no loop interno, é equivalente usar diretamente a instrução Continuar no loop externo.
pacote javaleanning; public class lableTest {public static void main (string [] args) {OuterCycle: for (int i = 0; i <10; i ++) {for (int j = 0; j <10; j ++) {if (j == 5) {continue a saída da saída; ");} System.out.println ();}}}Resultados de execução
(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,0) (4,1) (4,2) (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,0) (9,1) (9,2) (9,3) (9,4)
NOTA: Os resultados em execução reais são todos exibidos em uma linha (ou seja, nenhuma instrução de interrupção da linha é executada). Agora, esses resultados de exibição são apenas pelos motivos do layout.