개발/JAVA

JAVA 기초편 3 : Break, Continue, DoWhile

예니03 2024. 12. 26. 11:07
반응형

1. Break 조건에 따라 반복을 중단하기

이 프로그램은 6과 14로 모두 나누어 떨어지는 가장 작은 숫자를 찾는 예제입니다. 코드를 분석해봅시다.

주요 코드 설명:

int num = 1; // 숫자를 1부터 시작
while (true) { // 무한 반복
    if (num % 6 == 0 && num % 14 == 0) { 
        break; // 6과 14로 나누어 떨어지면 반복 종료
    }
    num += 1; // 조건에 맞지 않으면 num을 1 증가
}
System.out.println(num); // 조건을 만족한 num 출력

실행 흐름:

  1. num 변수를 1부터 시작합니다.
  2. while (true)는 무조건 반복이 실행됩니다. (조건이 true이므로 끝나지 않음)
  3. 매 반복마다 num % 6 == 0 && num % 14 == 0 조건을 확인합니다:
    • num % 6 == 0은 6으로 나누어 떨어지는 숫자인지 확인.
    • num % 14 == 0은 14로 나누어 떨어지는 숫자인지 확인.
  4. 두 조건이 모두 참이면 break로 반복을 멈춥니다.
  5. 결과적으로 조건에 맞는 첫 번째 숫자가 출력됩니다.

 요약:

  • while (true)를 사용하면 반복 조건 없이 무한히 실행됩니다.
  • break는 특정 조건이 참일 때 반복을 종료합니다.
  • 출력값: 42 (6과 14의 최소공배수).

2. Continue: 특정 조건에서 반복 건너뛰기

이 프로그램은 1부터 20까지 숫자 중에서 2의 배수와 3의 배수를 제외한 숫자만 출력합니다.

주요 코드 설명:

for (int i = 1; i <= 20; i += 1) { // 1부터 20까지 반복
    if (i % 2 == 0 || i % 3 == 0) {
        continue; // 2의 배수 또는 3의 배수는 다음 루프로 건너뜀
    }
    System.out.println(i); // 조건에 맞지 않는 숫자 출력
}

실행 흐름:

  1. for 루프가 1부터 20까지 실행됩니다.
  2. 각 숫자에서 i % 2 == 0 또는 i % 3 == 0 조건을 확인:
    • i % 2 == 0: 2의 배수인지 확인.
    • i % 3 == 0: 3의 배수인지 확인.
  3. 조건이 참이면 continue가 실행되어 해당 숫자는 건너뜁니다.
  4. 조건이 거짓인 경우만 System.out.println(i)로 숫자를 출력합니다.

요약:

  • continue는 조건이 참일 때 나머지 코드를 건너뛰고 다음 반복으로 이동합니다.
  • 출력값: 1, 5, 7, 11, 13, 17, 19 (2와 3의 배수를 제외한 숫자).

3. DoWhile: 사용자 입력 반복 처리

이 프로그램은 사용자가 입력한 정수를 모두 더하고, 0을 입력하면 종료합니다.

주요 코드 설명:

int total = 0, num; // 합계(total)와 입력값(num) 초기화
Scanner scanner = new Scanner(System.in); // 사용자 입력을 위한 스캐너 생성

do {
    System.out.print("정수를 입력하세요. 0이면 종료 : "); // 입력 요청
    num = scanner.nextInt(); // 사용자가 입력한 정수를 읽음
    total += num; // 입력된 값을 합계에 추가
} while (num != 0); // 입력값이 0이 아니면 계속 반복

scanner.close(); // 스캐너 닫기

실행 흐름:

  1. total 변수를 0으로 초기화합니다. 모든 입력값의 합을 저장하는 변수입니다.
  2. do { ... } while은 조건을 나중에 확인하는 반복문입니다.
    • 사용자 입력을 최소 1회 이상 반드시 실행.
    • 반복문 안에서 사용자는 정수를 입력합니다.
    • 입력한 값이 0이면 반복이 종료됩니다.
  3. 반복이 끝나면 합산된 값을 출력합니다.

요약:

  • do { ... } while은 조건을 나중에 확인하므로 반드시 한 번 실행됩니다.
  • 입력값이 0이면 반복을 종료하고, 합계는 누적된 값으로 계산됩니다.

 

반응형