본문 바로가기
JAVA/자바 문법 기초 익히기

switch 문 사용법

by DEVLIB 2025. 4. 12.
728x90

기본 구조

switch (변수 or 식) {
    case 값1:
        // 값1일 때 실행할 코드
        break;
    case 값2:
        // 값2일 때 실행할 코드
        break;
    ...
    default:
        // 어느 case에도 해당되지 않을 때 실행
}

 


예제 1: 요일 출력기

int day = 3;

switch (day) {
    case 1:
        System.out.println("월요일");
        break;
    case 2:
        System.out.println("화요일");
        break;
    case 3:
        System.out.println("수요일");
        break;
    case 4:
        System.out.println("목요일");
        break;
    case 5:
        System.out.println("금요일");
        break;
    default:
        System.out.println("주말 또는 잘못된 입력입니다.");
}

 

출력 결과: 수요일


break를 꼭 써야 하는 이유

  • 각 case 블록의 끝에 break가 없으면 **다음 case로 '넘어가서 실행'**됩니다.
int num = 1;

switch (num) {
    case 1:
        System.out.println("One");
    case 2:
        System.out.println("Two");
}

 

출력:

One
Two

 

해결: break; 추가!


예제 2: 문자형, 문자열도 사용 가능

char grade = 'B';

switch (grade) {
    case 'A':
        System.out.println("매우 우수");
        break;
    case 'B':
        System.out.println("우수");
        break;
    case 'C':
        System.out.println("보통");
        break;
    default:
        System.out.println("재시험");
}

String도 지원됨 (Java 7 이상)

String command = "start";

switch (command) {
    case "start":
        System.out.println("시작합니다.");
        break;
    case "stop":
        System.out.println("중지합니다.");
        break;
    default:
        System.out.println("알 수 없는 명령어입니다.");
}

switch vs if 비교

상황 추천 문
조건이 많고, 값이 정해져 있을 때 switch
범위 비교(예: 0 < x < 10) if-else
문자열/숫자 값이 정확히 일치할 때 switch
복잡한 조건식 필요 if-else

마무리 요약

키워드 설명
switch 여러 값 중 하나를 기준으로 분기
case 각각의 조건 값 지정
break 각 조건 종료 (없으면 다음 case까지 실행됨)
default 모든 조건에 해당하지 않을 때 실행

실습 아이디어

  • 메뉴 선택 (1: 조회, 2: 추가, 3: 삭제...)
  • 요일/월 입력 → 한글로 출력
  • 학점 입력 → 평가 메시지 출력
LIST

'JAVA > 자바 문법 기초 익히기' 카테고리의 다른 글

break, continue 사용법  (0) 2025.04.12
for, while, do-while 반복문  (0) 2025.04.12
if, else if, else  (0) 2025.04.12
증감 연산자  (0) 2025.04.12
논리 연산자  (0) 2025.04.12