[자바] 제어문 - 조건문 - switch/case문

2021. 5. 12. 10:56·Archive/Java

 

ㅇ 제어문(Control Statement)이란?

: 프로그램의 순차적인 흐름을 바꾸어주는 문장

 

ㅇ 조건문 : 조건에 따라 다른 문장을 실행하는 문장

    if ~ else / switch ~ case

 

ㅇ 반복문 : 동일한 코드를 여러번 실행시키는 문장

    for / while / do ~ while

 

ㅇ분기문 : 멈추거나, 빠져나가거나, 계속 진행하거나, 되돌아가게 하는 문장

    break / continue

 

 

switch/case 문은 if 문과 비슷하지만 좀 더 정형화된 모습의 제어문으로 가독성이 훨씬 좋다.

switch/case문은 if else 구조로 변경이 가능하지만 if else 구조로 작성된 모든 코드를 switch 문으로 변경할 수는 없다.

이렇게 굳이 switch/case 문 없이도 if/else로 충분히 코드를 작성할 수 있기 때문에 switch/case 문을 지원하지 않는 언어들도 있다. (※ 파이썬은 switch/case문이 없다.)

 

if문과 switch문을 비교하면 다음과 같다.

 

if(num == 1) {
System.out.println("주사위 1번");
} else if(num == 2) {
System.out.println("주사위 2번");
} else if(num == 3) {
System.out.println("주사위 3번”);
} else if(num == 4){
System.out.println("주사위 4번”);
} else if(num == 5){
System.out.println("주사위 5번”);
}else {
System.out.println("주사위 6번");
}
switch(num) {
case 1:
    System.out.println("주사위 1번");break;
case 2:
    System.out.println("주사위 2번");break;
case 3:
    System.out.println("주사위 3번");break;
case 4:
    System.out.println("주사위 4번");break;
case 5:
    System.out.println("주사위 5번”);break;
default:
    System.out.println("주사위 6번");break;
}

 

switch문의 구조는 다음과 같다.

 

switch(입력변수) {
    case 입력값1: ...
         break;
    case 입력값2: ...
         break;
    ...
    default: ...
         break;
}

 

또 다른 예를 살펴보면 다음과 같다.

 

public class SwitchDemo {
    public static void main(String[] args) {
        int month = 8;
        String monthString = "";
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

switch문의 입력으로 1이라는 숫자가 올 경우 "January"라는 문자열이 12가 입력으로 올 경우 "December"라는 문자열이 출력되는 예제이다. 위의 예는 month가 8로 고정되어 있기 때문에 "August"라는 문자열이 출력될 것이다.

 

위 switch문은 month의 값이 1이면 case 1: 문장이 실행되고 2이면 case 2: 문장이, 3이면 case 3: ... 이런식으로 수행되게 된다. 만약 month에 1에서 12사이의 숫자가 아닌 다른 값이 저장되어 있다면 default: 문장이 수행될 것이다.

'Archive > Java' 카테고리의 다른 글

[자바] 제어문 - 반복문 - while문  (0) 2021.05.13
[자바] 제어문 - 반복문 - for문  (0) 2021.05.12
[자바] 제어문 - 조건문 - if문  (0) 2021.05.12
[자바] 연산자 operator  (0) 2021.05.11
[자바] 변수 variable  (0) 2021.05.11
'Archive/Java' 카테고리의 다른 글
  • [자바] 제어문 - 반복문 - while문
  • [자바] 제어문 - 반복문 - for문
  • [자바] 제어문 - 조건문 - if문
  • [자바] 연산자 operator
J. Son
J. Son
Petit à petit l'oiseau fait son nid.
  • J. Son
    Steady Study Log
    J. Son
  • 전체
    오늘
    어제
    • 분류 전체보기 (172) N
      • Python & SQL (63)
        • Python Basics (21)
        • Python Problems (23)
        • Python Practice (11)
        • MySQL (1)
        • Git & GitHub (7)
      • ML & DL (7) N
      • Projects (6) N
        • Project Portfolio (6) N
      • AI Camp (4)
        • Camp Reflection (4)
      • Concept Notes (6)
        • Statistics & Stata (4)
        • Mathematics (2)
      • Archive (85) N
        • Java (24)
        • R (1)
        • Languages (49)
        • Miscellaneous (11) N
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • GitHub
    • WikiDocs
  • 공지사항

  • 인기 글

  • 태그

    share.streamlit.io
    파이썬 streamlit
    점프투파이썬 연습문제 풀이
    프랑스어 공부
    Python
    복합과거
    맥 git
    파이썬 크롤링
    python streamlit
    machine learning
    Github
    머신러닝
    불어 공부
    MySQL
    객체
    GIT
    어린왕자 프랑스어
    점프투파이썬 연습문제
    프로젝트 오일러
    passe compose
    파이썬 문제
    어린왕자 불어
    자바
    Stata
    초보자를 위한 파이썬 300제
    streamlit
    파이썬
    불어 관계대명사
    Le Petit Prince
    python problem
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J. Son
[자바] 제어문 - 조건문 - switch/case문
상단으로

티스토리툴바