계속 및 브레이크는 루프의 실행 흐름을 변경할 수 있지만, 여러 루프에서는이 두 문장이 내부 루프에서 외부 루프로 직접 점프 할 수 없습니다. C 언어에서는 GOTO 문을 통해 다중 루프 점프를 달성 할 수 있지만, 비 루프 구조에서 GOTO 문을 사용하면 프로그램의 구조가 무질서하게되고 가독성이 악화 될 것입니다. 따라서 Java는 태그가 지정된 계속 및 Break 문을 발명했는데,이 명령문은 실제로 루프에 대한 제한이있는 GOTO 문입니다.
일반적으로, 우리가 사용하는 계속 (또는 break) 문에는 레이블이 없으므로 계속 (또는 break) 문이 기본적으로 현재 루프에서 실행됩니다. 레이블이있는 루프는 실제로 루프에 이름을 제공합니다. "계속 (또는 break) + 태그"문을 사용하는 경우 실제로 태그가있는 루프에서 계속 (또는 break) 문을 실행합니다.
이제 레이블이 붙은 루프를 설명하기 위해 세 가지 예제를 사용해 봅시다.
1. 레이블이없는 이중 루프
패키지 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+")";실행 결과
(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. 레이블이있는 이중 루프, "break+label"문
이 예에서는 루프의 두 배입니다. 우리는 외부 루프의 시작을 레이블을 지정합니다 (즉, 외부 루프의 이름을 부여) "Outercycle". 내부 루프에서 "Break Outercycle"을 사용하는 경우, 외피 루프에서 Break 문을 직접 사용하는 것과 같습니다.
패키지 JavaleAnning; public class labletest {public static void main (string [] args) {outercycle : for (int i = 0; i <10; i ++) {for (int j = 0; j <10; ");} system.out.println ();}}}실행 결과
(0,0) (0,1) (0,2) (0,3) (0,4)
3. 레이블이있는 이중 루프, "계속+레이블"문
이 예에서는 루프의 두 배입니다. 우리는 외부 루프의 시작을 레이블을 지정합니다 (즉, 외부 루프의 이름을 부여) "Outercycle". 내부 루프에서 "계속 외피"를 사용하는 경우, 외피 루프에서 계속 명령문을 직접 사용하는 것과 같습니다.
패키지 JavaleAnning; public class labletest {public static void main (string [] args) {outercycle : for (int i = 0; i <10; i ++) {for (int j = 0; j <10; ");} system.out.println ();}}}실행 결과
(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) (4) (4,0) (4) (4,0) (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,3) (8,3) (8,3) (8,3) (8,3) (8,3) (8,4) (9,1) (9,2) (9,3) (9,4)
참고 : 실제 실행 결과는 모두 한 줄에 표시됩니다 (즉, 라인 브레이크 명령문이 실행되지 않음). 이제 이러한 디스플레이 결과는 레이아웃의 이유에만 해당됩니다.