자바/자바 문법

보조 제어문(break, continue)

Blue_bull 2025. 1. 26. 23:34

Java 보조 제어문: breakcontinue

Java에서 보조 제어문은 반복문의 흐름을 제어하는 데 사용됩니다. 반복문을 중단하거나 다음 반복으로 건너뛰는 기능을 제공합니다.


1. break

  • 기능: 반복문 또는 switch문을 즉시 종료합니다.
  • 사용 상황:
    1. 반복문에서 특정 조건에 따라 반복을 중단할 때.
    2. switch 문에서 특정 case 실행 후 종료할 때.

1.1 반복문에서 break 사용

public class BreakExample {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 5) {
                break; // 반복문 종료
            }
            System.out.println("i: " + i);
        }
    }
}

출력:

i: 0
i: 1
i: 2
i: 3
i: 4
  • 설명: i == 5 조건을 만족하면 break가 실행되고, 반복문이 종료됩니다.

1.2 switch문에서 break 사용

public class SwitchBreakExample {
    public static void main(String[] args) {
        int day = 3;

        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            default:
                System.out.println("Other day");
        }
    }
}

출력:

Wednesday
  • 설명: break가 없으면 fall-through가 발생해 이후 case들도 실행됩니다.

2. continue

  • 기능: 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 이동합니다.
  • 사용 상황:
    1. 특정 조건에 따라 반복문의 일부를 건너뛰고 싶을 때.

2.1 반복문에서 continue 사용

public class ContinueExample {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i % 2 == 0) {
                continue; // 짝수일 때 현재 반복 건너뛰기
            }
            System.out.println("i: " + i);
        }
    }
}

출력:

i: 1
i: 3
i: 5
i: 7
i: 9
  • 설명: i % 2 == 0 조건이 참일 경우, continue가 실행되어 System.out.println을 건너뛰고 다음 반복으로 이동합니다.

3. breakcontinue의 비교

기능 break continue
주요 동작 반복문을 완전히 종료 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 이동
사용 위치 for, while, do-while, switch for, while, do-while
종료 후 흐름 반복문 바깥으로 흐름 이동 다음 반복으로 흐름 이동

4. 중첩 반복문에서 breakcontinue

4.1 break로 바깥 반복문 종료

  • 바깥 반복문을 종료하려면 라벨(label)을 사용할 수 있습니다.

    public class NestedBreakExample {
      public static void main(String[] args) {
          outer: // 라벨 설정
          for (int i = 0; i < 5; i++) {
              for (int j = 0; j < 5; j++) {
                  if (i == 2 && j == 2) {
                      break outer; // 바깥 반복문 종료
                  }
                  System.out.println("i: " + i + ", j: " + j);
              }
          }
      }
    }
  • 출력*:

    i: 0, j: 0
    i: 0, j: 1
    i: 0, j: 2
    ...
    i: 2, j: 1

4.2 continue로 특정 반복 건너뛰기

  • 특정 반복을 건너뛰고 다음 반복으로 이동합니다.

    public class NestedContinueExample {
      public static void main(String[] args) {
          for (int i = 0; i < 5; i++) {
              for (int j = 0; j < 5; j++) {
                  if (i == 2 && j == 2) {
                      continue; // 현재 반복만 건너뜀
                  }
                  System.out.println("i: " + i + ", j: " + j);
              }
          }
      }
    }
  • 출력*:

    i: 0, j: 0
    i: 0, j: 1
    ...
    i: 2, j: 1
    i: 2, j: 3
    ...

5. 요약

  1. break:
    • 반복문 또는 switch문을 즉시 종료.
    • 중첩 반복문에서 특정 반복문을 종료하려면 라벨(label) 사용.
  2. continue:
    • 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 이동.
    • 중첩 반복문에서도 특정 조건에서 현재 반복만 스킵 가능.
  3. breakcontinue는 조건문과 함께 사용하여 반복 흐름을 세밀하게 제어.

'자바 > 자바 문법' 카테고리의 다른 글

데이터 타입의 종류와 기본값  (0) 2025.01.26
배열이란?  (0) 2025.01.26
반복문이란?  (0) 2025.01.26
Swap(값 교환)이란?  (0) 2025.01.26
Casting(형변환)이란?  (0) 2025.01.26