레이블이 지정된 continue
바깥쪽 반복문을 계속 실행합니다
레이블이 지정된 continue은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
바깥쪽 반복문으로 계속하기
일반적인 다음 반복은 안쪽 반복문만 다시 시작합니다. 때로는 바깥쪽 반복문의 다음 차례로 건너뛰고 싶을 수 있습니다.
이를 위해 Java는 레이블을 사용한 다음 반복을 제공합니다.
이 기능은 반복문 레이블과 다음 반복 키워드를 결합하여 어느 반복문을 진행할지 제어합니다.
레이블을 사용한 다음 반복 구문
형식은 레이블 다음 반복;이며, 레이블은 자신을 둘러싼 반복문을 가리킵니다.
안쪽 반복문을 진행하는 대신 레이블이 지정된 반복문의 다음 반복으로 이동합니다.
해당 차례에 안쪽 반복문에 남아 있던 모든 부분은 건너뜁니다.
continue outer; // jump to next iteration of 'outer'첫 번째 예제
여기서는 열이 2와 같을 때 바깥쪽 반복문의 다음 차례로 이동합니다.
안쪽 반복문의 남은 부분을 중단하고 즉시 다음 행으로 이동합니다.
public class Main {
public static void main(String[] args) {
outer:
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
continue outer;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}출력 읽기
각 행에는 열 1만 출력되었습니다. 열이 2에 도달하면 바깥쪽 다음 반복이 바로 다음 행으로 이동시켰습니다.
어떤 행에서도 열 2와 3은 출력되지 않았습니다.
새 행이 시작될 때마다 안쪽 반복문은 열 1부터 다시 시작했습니다.
다음 반복과 레이블 다음 반복 비교
일반적인 다음 반복과 비교해 보십시오. 일반적인 다음 반복은 열 2만 건너뛰고 열 3은 계속 출력합니다.
이를 실행하여 모든 행에서 열 1과 열 3이 모두 나타나는지 확인해 보십시오.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
continue;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}핵심적인 차이
일반적인 다음 반복은 현재 안쪽 반복만 건너뛰므로 안쪽 반복문은 계속 실행됩니다.
레이블을 사용한 바깥쪽 다음 반복은 안쪽 반복문 전체를 중단하고 바깥쪽 반복문의 다음 차례를 시작합니다.
레이블 하나만으로 건너뛰는 코드의 범위가 달라집니다.
행 전체 건너뛰기
어떤 잘못된 값 하나 때문에 안쪽 반복의 남은 부분을 무효화해야 할 때 레이블을 사용한 다음 반복이 유용합니다.
여기서는 한 행에 음수가 하나라도 있으면 해당 행에서 남은 작업을 건너뛰고 다음 행으로 이동합니다.
public class Main {
public static void main(String[] args) {
int[][] data = {{1, 2, 3}, {4, -1, 6}, {7, 8, 9}};
rows:
for (int r = 0; r < data.length; r++) {
int sum = 0;
for (int c = 0; c < data[r].length; c++) {
if (data[r][c] < 0) {
System.out.println("Row " + r + " skipped");
continue rows;
}
sum += data[r][c];
}
System.out.println("Row " + r + " sum = " + sum);
}
}
}예제 추적하기
0행과 2행은 합계를 출력했습니다. 1행에서는 음수 값을 만나 "1행 건너뜀"을 출력하고 다음 행으로 이동했습니다.
중요한 점은 레이블을 사용한 다음 반복이 합계 줄을 건너뛰었기 때문에 1행의 합계 줄은 실행되지 않았다는 것입니다.
쌍 필터링하기
또 다른 사용 방법은 안쪽 조건 하나가 실패하는 즉시 바깥쪽 항목 전체를 건너뛰는 것입니다.
이 반복문은 쌍을 출력하지만 j와 곱한 결과가 6을 초과하는 i는 건너뜁니다.
public class Main {
public static void main(String[] args) {
loopI:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i * j > 6) {
continue loopI;
}
System.out.println(i + " x " + j + " = " + (i * j));
}
}
}
}레이블 이름과 위치
레이블이 지정된 반복문은 다음 반복 문장을 포함해야 합니다. 자신의 위에 있지 않은 레이블의 다음 반복으로 이동할 수는 없습니다.
행 또는 loopI처럼 설명적인 이름을 선택하면 어느 반복문이 진행되는지 독자가 알 수 있습니다.
명확한 레이블 자체가 문서 역할을 합니다.
도움이 될 때와 방해가 될 때
조건에 따라 안쪽 반복의 남은 부분을 무효화하고 다음으로 넘어가야 할 때 레이블을 사용한 다음 반복이 도움이 됩니다.
하지만 레이블을 과도하게 사용하면 흐름을 추적하기 어려워집니다. 일반적인 다음 반복이나 메서드의 이른 반환이 더 간단하게 읽힌다면 그것을 선택하십시오.
정말 명확성을 높여 주는 경우에만 레이블을 사용하십시오.
빠른 확인
레이블을 사용한 다음 반복의 효과를 예측해 보십시오.
복습
레이블 다음 반복;은 안쪽 반복문의 남은 부분을 건너뛰고 이름이 지정된 바깥쪽 반복문을 다음 차례로 진행합니다.
일반적인 다음 반복은 안쪽 반복 한 번만 건너뛴다는 점에서 다릅니다. 여러 반복문을 사용하는 논리를 더 명확하게 만들 때 레이블을 사용하고, 단순히 코드를 짧게 만들기 위해 사용하지는 마십시오.
자주 묻는 질문
“레이블이 지정된 continue” 강의는 무료인가요?
네 — “레이블이 지정된 continue” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“레이블이 지정된 continue”에서 뭘 배우나요?
바깥쪽 반복문을 계속 실행합니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Java Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“레이블이 지정된 continue” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- break와 continue
- 레이블이 지정된 break
- 레이블이 지정된 continue
- 스파게티식 흐름 피하기