CodeGym /행동 /JAVA 25 SELF /루프 제어: 연산자 break 및 continue

루프 제어: 연산자 break 및 continue

JAVA 25 SELF
레벨 4 , 레슨 4
사용 가능

1. 소개

종종 루프의 모든 반복을 끝까지 실행할 필요 없이 조기에 빠져나와야 할 때가 있습니다 — 예를 들어, 찾고 있던 요소를 발견한 순간입니다. 다른 경우에는 작업의 일부를 건너뛰고 다음 단계로 넘어가야 할 수도 있습니다(예: 데이터를 읽었지만 그 처리는 건너뛰고 싶을 때). 이것이 바로 루프 내부의 흐름 제어입니다.

Java의 breakcontinue 연산자는 바로 이를 위해 존재합니다. 이들이 어떻게 동작하는지, 그리고 실제 과제에서 언제 유용한지 알아봅시다.

2. 연산자 break: “정지!”

이론과 문법

break 연산자는 루프의 어느 위치에서든 즉시 빠져나올 때 사용합니다. 프로그램 실행이 break에 도달하는 순간 루프는 즉시 종료되고, 실행은 루프 바로 뒤의 첫 번째 줄부터 계속됩니다.


while (uslovie)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // 루프의 나머지 코드
}
breakwhile 루프에서 사용하기

fordo-while에서도 동일하게 동작합니다:

for (int i = 0; i < 10; i++)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // 루프의 나머지 코드
}

예제 1: 소수 판별

어떤 수가 1과 자기 자신으로만 나누어떨어지면 소수입니다. 주어진 수가 소수인지 확인하려면 2부터 n-1까지의 가능한 모든 약수를 검사하면 됩니다. 만약 어떤 약수로 나누어떨어진다면 더 이상 확인할 필요가 없습니다 — 소수가 아니기 때문이죠! 루프를 종료할 수 있습니다.

예시:

int number = 111;
boolean found = false;
for (int i = 2; i < number; i++)
{
    if (number % i == 0)
    {
        found = true;
        System.out.println("약수를 찾았습니다: " + i );
        break; // 루프를 멈춥니다. 더 이상 찾을 필요가 없습니다!                
    }    
}

if (!found)
{
    System.out.println("약수를 찾지 못했습니다 - 소수입니다.");
}

예제 2: 사용자 입력 검증

간단한 애플리케이션을 만들어 봅시다. 예를 들어, 데이터를 수집하는 대화형 설문입니다:

while (true)
{
    System.out.print("나이를 입력하세요: ");

    if (console.hasNextInt())
    {
        int age = console.nextInt();
        if (age > 0)
        {
            System.out.println("좋습니다! 나이: " + age);
            break; // 입력이 올바릅니다 — 종료합니다
        }
        else
        {
            System.out.println("오류! 양의 나이를 입력하세요.");
        }
    }
    else
    {
        System.out.println("오류! 숫자를 입력하세요.");
        console.nextLine(); // 잘못된 입력을 비웁니다
    }
}

왜 필요한가요:
사용자가 올바른 값을 입력할 때까지 루프를 무한(또는 매우 오래) 돌려야 할 때가 있습니다. 원하는 사건이 발생하는 즉시 — break를 적용해 루프를 최종적으로 종료합니다.

3. 연산자 continue: “다음 분!”

이론과 문법

break와 달리, continue 연산자는 루프 전체를 종료하지 않고 오직 현재 반복만 건너뜁니다. 즉, 루프 본문에서 continue 뒤에 있는 코드는 실행되지 않으며 — 다음 반복으로 넘어갑니다.


for (int i = 0; i < 10; i++)
{
    if (uslovie)
    {
        continue;
    }
    // 이 부분은 continue가 작동하지 않았을 때만 실행됩니다
}
continuefor 루프에서 사용하기

예제 3: 짝수 건너뛰기

범위에서 홀수만 출력해야 한다고 가정해 봅시다. 짝수는 건너뛰어야 합니다.


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // 숫자가 짝수라면 — 아래의 모든 코드를 건너뜁니다!
    }
    System.out.println("홀수: " + i);
}
continue로 짝수 건너뛰기

무슨 일이 일어나나요:
i = 2, 4, 6...일 때 루프는 continue를 만나자마자 다음 반복으로 넘어가며, System.out.println은 실행되지 않습니다.

단계별 동작 시각화:

i i % 2 == 0 동작
1 false print, continue 없음
2 true continue, print 없음
3 false print, continue 없음
... ... ...

연산자 breakcontinue는 매우 자주 사용됩니다. 사실상 많은 루프에서 만나게 될 것입니다. 곧 익숙해지고 즐겁게 사용할 수 있을 겁니다.

1
과제
JAVA 25 SELF, 레벨 4, 레슨 4
잠금
비밀 코드 찾기 🔐
비밀 코드 찾기 🔐
1
과제
JAVA 25 SELF, 레벨 4, 레슨 4
잠금
품질 좋은 상품 선별 📦
품질 좋은 상품 선별 📦
1
과제
JAVA 25 SELF, 레벨 4, 레슨 4
잠금
소수 판별 ❓
소수 판별 ❓
1
과제
JAVA 25 SELF, 레벨 4, 레슨 4
잠금
일일 매출 합계 💰
일일 매출 합계 💰
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION