[Java] Chapter 4. 조건문, 반복문

SeungWoo Cha·2025년 9월 6일

Chapter 4. 조건문, 반복문

4.1. 코드 실행 흐름 제어

  • 조건문: if, switch
  • 반복문: for, while, do-while

4.2. if문

  • Math.random() 메소드는 0.0 <= 값 < 1.0 범위의 double 난수를 반환한다.

    double r = Math.random();
    if (r < 0.5) {
        System.out.println("0.5 미만: " + r);
    } else {
        System.out.println("0.5 이상: " + r);
    }

4.3. switch문

  • switch 괄호 안에는 다음 타입을 사용할 수 있다:

    • 정수 타입: byte, char, short, int
    • 문자열 타입: String
    • Java 7부터 String 사용 가능
    • Java 14부터는 switch 표현식 정식 도입

(1) Java 11 이전 (전통적 switch)

int grade = 1;
switch (grade) {
    case 1:
        System.out.println("1등급");
        break;
    case 2:
        System.out.println("2등급");
        break;
    default:
        System.out.println("기타");
}

(2) Java 12 (switch 표현식, 미리보기 기능)

char grade = 'A';
switch (grade) {
    case 'A', 'a' -> System.out.println("우수 회원");
    case 'B', 'b' -> System.out.println("일반 회원");
    default -> System.out.println("비회원");
}

(3) Java 13 이후 (yield 키워드)

  • switch에서 값을 반환할 수 있음
char grade = 'A';
String result = switch (grade) {
    case 'A', 'a' -> "우수 회원";
    case 'B', 'b' -> "일반 회원";
    default -> {
        yield "비회원";
    }
};
System.out.println(result);

4.4. for문

  • 기본 구조:

    for (초기식; 조건식; 증감식) {
        실행문;
    }
  • float 타입을 초기식에 사용하면 부동소수점 연산의 정밀도 문제로 인해 무한 루프 가능성이 있으므로 사용하지 않는 것이 좋다.

  • 예:

    for (int i = 0; i < 5; i++) {
        System.out.println(i);
    }

4.5. while문

  • 조건식이 true인 동안 반복 실행

    int i = 0;
    while (i < 5) {
        System.out.println(i);
        i++;
    }

4.6. do-while문

  • 최소 1번은 실행 보장

  • 조건식 뒤에 반드시 세미콜론(;) 필요

    int i = 0;
    do {
        System.out.println(i);
        i++;
    } while (i < 5);

4.7. break문

  • 기본적으로 가장 가까운 반복문만 종료한다.
  • 바깥쪽 반복문까지 종료하려면 레이블(Label)을 사용한다.
outer: for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == j) {
            break outer; // 바깥쪽 반복문까지 종료
        }
    }
}

4.8. continue문

  • 반복문에서 현재 반복을 건너뛰고 다음 반복으로 진행한다.
for (int i = 1; i <= 5; i++) {
    if (i % 2 == 0) {
        continue; // 짝수일 때는 건너뜀
    }
    System.out.println(i);
}

실행 결과:

1
3
5
profile
한 발자국씩

0개의 댓글