반응형
Java의 이름 붙은 반복문(Labeled Loop)은 복잡한 중첩 반복문 내에서 특정 반복문을 명확하게 제어하기 위해 사용되는 기능입니다. 보통 반복문에서 break
와 continue
문을 사용할 때는 가장 안쪽의 반복문을 제어하지만, 이름 붙은 반복문을 사용하면 특정 외부 반복문을 제어할 수 있습니다.
1. 이름 붙은 반복문의 구조
이름 붙은 반복문은 라벨(label)을 사용하여 반복문 앞에 붙여줍니다. 라벨은 break
또는 continue
문과 함께 사용되어 특정 라벨이 지정된 반복문을 제어할 수 있습니다.
label:
while (조건) {
// 코드 블록
}
2. 사용 예제
break
와 함께 사용
설명:public class LabeledBreakExample { public static void main(String[] args) { outerLoop: for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { System.out.println("i: " + i + ", j: " + j); if (i * j == 9) { break outerLoop; // outerLoop 라벨이 붙은 반복문을 종료 } } } System.out.println("End of the outer loop."); } }
outerLoop
라는 라벨을 외부for
문에 붙입니다.i * j == 9
조건이 참이 되면break outerLoop
가 실행되어outerLoop
라벨이 붙은 반복문이 종료됩니다.- 이 경우, "i: 3, j: 3"에서 종료되고 "End of the outer loop."가 출력됩니다.
- 이름 붙은 반복문과
break
문을 사용하여 외부 반복문을 종료할 수 있습니다. 다음 예제는 중첩된for
문에서 특정 조건을 만족할 때 외부 반복문을 종료하는 방법을 보여줍니다. continue
와 함께 사용
설명:public class LabeledContinueExample { public static void main(String[] args) { outerLoop: for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { if (i == j) { continue outerLoop; // outerLoop 라벨이 붙은 반복문의 다음 반복으로 이동 } System.out.println("i: " + i + ", j: " + j); } } } }
outerLoop
라는 라벨을 외부for
문에 붙입니다.i == j
조건이 참이 되면continue outerLoop
가 실행되어outerLoop
라벨이 붙은 반복문의 다음 반복으로 이동합니다.- 동일한
i
와j
값일 때, 내부 루프의 나머지 코드를 건너뛰고 외부 루프의 다음 반복을 수행합니다.
- 이름 붙은 반복문과
continue
문을 사용하여 특정 조건을 만족할 때 외부 반복문으로 이동할 수 있습니다. 다음 예제는 중첩된for
문에서 특정 조건을 만족할 때 외부 반복문의 다음 반복으로 이동하는 방법을 보여줍니다.
3. 이름 붙은 반복문의 장점
- 복잡한 중첩 반복문 제어: 여러 개의 중첩된 반복문에서 특정 반복문을 명확하게 제어할 수 있어, 코드의 가독성과 유지보수성을 향상시킵니다.
- 불필요한 반복 줄이기: 특정 조건에서 반복을 종료하거나 다음 반복으로 이동함으로써 불필요한 연산을 피할 수 있습니다.
4. 주의 사항
- 사용을 최소화: 이름 붙은 반복문은 특정한 경우에 유용하지만, 과도하게 사용하면 코드가 복잡해지고 읽기 어려워질 수 있습니다. 가능한 한 간단한 구조의 반복문을 유지하려고 노력해야 합니다.
- 대체 방법 고려: 이름 붙은 반복문을 사용하지 않고도 문제를 해결할 수 있는 다른 방법(예: 플래그 변수 사용, 함수 분리 등)을 고려해보는 것이 좋습니다.
5. 결론
이름 붙은 반복문은 Java에서 중첩된 반복문을 보다 쉽게 제어할 수 있게 해주는 유용한 기능입니다. break
와 continue
문과 함께 사용하여 특정 반복문을 명확하게 종료하거나 다음 반복으로 이동할 수 있습니다. 이 기능을 적절하게 사용하면 복잡한 코드에서의 반복문 제어를 간소화할 수 있습니다.
반응형
'언어 > Java' 카테고리의 다른 글
[ Java ] 배열의 사용하기 (0) | 2024.06.17 |
---|---|
[ Java ] 배열의 선언과 초기화 (0) | 2024.06.17 |
[ Java ] 반복문 do while (1) | 2024.06.17 |
[ Java ] 반복문 while (1) | 2024.06.17 |
[ Java ] 반복문 for (1) | 2024.06.17 |