IMG-LOGO
공지사항 :

자바 조건문(Conditional Statements)

lmkfox - 2025-07-03 06:56:59 23 Views 0 Comment

1. 조건문의 종류

자바에서는 다음과 같은 조건문을 제공합니다:

  1. if 문

  2. if-else 문

  3. if-else if-else 문

  4. switch 문


2. if 문

조건이 참(true) 일 때만 코드를 실행합니다.

int score = 85;

if (score >= 80) {
    System.out.println("합격입니다.");
}

조건이 거짓이면 코드 블록은 실행되지 않습니다.


3. if-else 문

조건이 참일 경우거짓일 경우를 나누어 처리합니다.

int score = 65;

if (score >= 70) {
    System.out.println("합격입니다.");
} else {
    System.out.println("불합격입니다.");
}


4. if-else if-else 문

여러 조건을 차례로 검사할 수 있습니다.

int score = 92;

if (score >= 90) {
    System.out.println("A학점");
} else if (score >= 80) {
    System.out.println("B학점");
} else if (score >= 70) {
    System.out.println("C학점");
} else {
    System.out.println("F학점");
}

위의 조건들은 위에서부터 순서대로 평가되며, 첫 번째로 참인 조건의 블록만 실행됩니다.


5. 중첩 if 문 (Nested if)

if 문 안에 또 다른 if 문을 포함할 수 있습니다.

int score = 95;
boolean isSubmit = true;

if (score >= 90) {
    if (isSubmit) {
        System.out.println("A+ 학점 (과제 제출 완료)");
    } else {
        System.out.println("A 학점 (과제 미제출)");
    }
}


6. switch 문

하나의 변수 값을 여러 경우(case)와 비교할 때 사용합니다. if-else보다 가독성이 좋고 효율적일 수 있습니다.

int day = 3;

switch (day) {
    case 1:
        System.out.println("월요일");
        break;
    case 2:
        System.out.println("화요일");
        break;
    case 3:
        System.out.println("수요일");
        break;
    default:
        System.out.println("기타 요일");
        break;
}

주의점

  • break를 생략하면 fall-through 현상이 발생하여 아래 코드도 실행됩니다.

  • default는 어느 case에도 해당하지 않을 때 실행됩니다.


7. switch문 개선 (Java 14 이상)

Java 14부터는 switch 문을 표현식 형태로 사용할 수 있습니다.

String result = switch (day) {
    case 1 -> "월요일";
    case 2 -> "화요일";
    case 3 -> "수요일";
    default -> "기타 요일";
};


8. 조건문과 Boolean

조건문에서 사용되는 조건은 반드시 boolean 타입이어야 합니다.

boolean isMember = true;

if (isMember) {
    System.out.println("회원입니다.");
}

잘못된 예 (오류):

int x = 1;

if (x) { // 오류: int는 boolean이 아님
    System.out.println("x는 참");
}


9. 조건문 요약

조건문 종류

설명

if

조건이 참일 때만 실행

if-else

참일 때와 거짓일 때 각각 실행

if-else if

여러 조건을 순차적으로 검사

switch

특정 값과 일치하는 경우 분기 처리

nested if

if문 안에 if문 사용 (복잡한 조건 처리)


10. 실전 팁

  • switch는 값이 정해진 경우(enum, 상수 등)에 적합

  • 조건이 많거나 복잡한 논리가 필요한 경우 if-else if 사용

  • 중첩된 조건은 &&, || 같은 논리 연산자를 활용해 단순화 가능

  • boolean 타입을 반환하는 메서드로 조건문을 깔끔하게 만들 수 있음

예시:

public boolean isAdult(int age) {
    return age >= 18;
}

if (isAdult(20)) {
    System.out.println("성인입니다.");
}


댓글