프로그래밍 언어/Java

조건문 if문 — if와 switch로 상황에 맞게 분기하기(Java 기초)

테크위키 2026. 3. 20. 20:00
반응형

조건문 — if와 switch로 상황에 맞게 분기하기

"점수가 90점 이상이면 A, 80점 이상이면 B…"
이런 조건에 따라 다르게 동작하는 코드를 만드는 게 조건문이에요!
자바에는 if 외에도 switch 라는 도구가 있어요. 같이 알아봐요! 🔀


📌 이 글에서 다룰 내용

  1. if 문 기본 구조
  2. else if로 여러 조건 처리하기
  3. switch 문
  4. 삼항 연산자
  5. 실습 — 학점 계산기 만들기

1. if 문 기본 구조

if (조건) {
    // 조건이 true일 때 실행
}
int age = 20;

if (age >= 18) {
    System.out.println("성인이에요!");
}

else 로 조건이 거짓일 때를 처리해요.

int age = 15;

if (age >= 18) {
    System.out.println("성인이에요!");
} else {
    System.out.println("미성년자예요.");
}

2. else if — 여러 조건 처리하기

int score = 85;

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("D 학점");
}
B 학점

💡 조건은 위에서부터 순서대로 확인해요. 처음으로 참인 조건만 실행돼요.

조건 중첩하기

if 안에 if 를 넣을 수 있어요.

int age = 25;
boolean hasTicket = true;

if (age >= 18) {
    if (hasTicket) {
        System.out.println("입장 가능해요!");
    } else {
        System.out.println("티켓이 없어요.");
    }
} else {
    System.out.println("나이가 부족해요.");
}

3. switch 문

특정 변수의 값에 따라 분기할 때 switch 가 더 깔끔해요.

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 를 꼭 써야 해요!
break 가 없으면 아래 case 들도 계속 실행돼요. 이걸 fall-through 라고 해요.

String으로 switch 쓰기

String season = "봄";

switch (season) {
    case "봄":
        System.out.println("꽃이 피어요!");
        break;
    case "여름":
        System.out.println("더워요!");
        break;
    case "가을":
        System.out.println("단풍이 예뻐요!");
        break;
    case "겨울":
        System.out.println("눈이 와요!");
        break;
}

4. 삼항 연산자

간단한 조건은 한 줄로 표현할 수 있어요.

조건 ? 참일 때 값 : 거짓일 때 값
int age = 20;
String result = (age >= 18) ? "성인" : "미성년자";
System.out.println(result);  // 성인
int a = 10, b = 20;
int max = (a > b) ? a : b;
System.out.println("큰 값: " + max);  // 큰 값: 20

5. 실습 — 학점 계산기 만들기

GradeCalculator.java 파일을 만들고 아래 코드를 작성해요.

import java.util.Scanner;

public class GradeCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("점수를 입력하세요 (0~100): ");
        int score = scanner.nextInt();

        String grade;

        if (score < 0 || score > 100) {
            System.out.println("올바른 점수를 입력해주세요.");
            return;
        }

        if (score >= 90) {
            grade = "A";
        } else if (score >= 80) {
            grade = "B";
        } else if (score >= 70) {
            grade = "C";
        } else if (score >= 60) {
            grade = "D";
        } else {
            grade = "F";
        }

        String pass = (score >= 60) ? "합격" : "불합격";

        System.out.println("점수: " + score + "점");
        System.out.println("학점: " + grade);
        System.out.println("결과: " + pass);

        scanner.close();
    }
}

오늘 배운 것 정리

  • if / else if / else 로 다양한 조건을 순서대로 처리해요.
  • switch 는 특정 값에 따라 분기할 때 깔끔해요.
  • break 를 빠뜨리면 아래 case까지 실행되니 꼭 써야 해요.
  • ✅ 삼항 연산자로 간단한 조건을 한 줄로 표현할 수 있어요.

🎯 다음 편 예고
6편에서는 반복문(for/while) 을 배워요.
같은 코드를 반복 실행하는 강력한 방법을 알아봐요!


이 글이 도움이 됐다면 다음 편도 같이 읽어봐요 😊 질문이 있으면 언제든지 댓글로 남겨주세요!