본문 바로가기

언어/Java

[ 자바 / Java ] 반복문 Labeled Loop

반응형

Java의 이름 붙은 반복문(Labeled Loop)은 복잡한 중첩 반복문 내에서 특정 반복문을 명확하게 제어하기 위해 사용되는 기능입니다. 보통 반복문에서 breakcontinue 문을 사용할 때는 가장 안쪽의 반복문을 제어하지만, 이름 붙은 반복문을 사용하면 특정 외부 반복문을 제어할 수 있습니다.

1. 이름 붙은 반복문의 구조

이름 붙은 반복문은 라벨(label)을 사용하여 반복문 앞에 붙여줍니다. 라벨은 break 또는 continue 문과 함께 사용되어 특정 라벨이 지정된 반복문을 제어할 수 있습니다.

label:
while (조건) {
    // 코드 블록
}

2. 사용 예제

  1. 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."가 출력됩니다.
  2. 이름 붙은 반복문과 break 문을 사용하여 외부 반복문을 종료할 수 있습니다. 다음 예제는 중첩된 for 문에서 특정 조건을 만족할 때 외부 반복문을 종료하는 방법을 보여줍니다.
  3. 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 라벨이 붙은 반복문의 다음 반복으로 이동합니다.
    • 동일한 ij 값일 때, 내부 루프의 나머지 코드를 건너뛰고 외부 루프의 다음 반복을 수행합니다.
  4. 이름 붙은 반복문과 continue 문을 사용하여 특정 조건을 만족할 때 외부 반복문으로 이동할 수 있습니다. 다음 예제는 중첩된 for 문에서 특정 조건을 만족할 때 외부 반복문의 다음 반복으로 이동하는 방법을 보여줍니다.

3. 이름 붙은 반복문의 장점

  • 복잡한 중첩 반복문 제어: 여러 개의 중첩된 반복문에서 특정 반복문을 명확하게 제어할 수 있어, 코드의 가독성과 유지보수성을 향상시킵니다.
  • 불필요한 반복 줄이기: 특정 조건에서 반복을 종료하거나 다음 반복으로 이동함으로써 불필요한 연산을 피할 수 있습니다.

4. 주의 사항

  • 사용을 최소화: 이름 붙은 반복문은 특정한 경우에 유용하지만, 과도하게 사용하면 코드가 복잡해지고 읽기 어려워질 수 있습니다. 가능한 한 간단한 구조의 반복문을 유지하려고 노력해야 합니다.
  • 대체 방법 고려: 이름 붙은 반복문을 사용하지 않고도 문제를 해결할 수 있는 다른 방법(예: 플래그 변수 사용, 함수 분리 등)을 고려해보는 것이 좋습니다.

5. 결론

이름 붙은 반복문은 Java에서 중첩된 반복문을 보다 쉽게 제어할 수 있게 해주는 유용한 기능입니다. breakcontinue 문과 함께 사용하여 특정 반복문을 명확하게 종료하거나 다음 반복으로 이동할 수 있습니다. 이 기능을 적절하게 사용하면 복잡한 코드에서의 반복문 제어를 간소화할 수 있습니다.

반응형

'언어 > 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