[JAVA] switch / case 문

Benjamin·2022년 12월 2일
0

JAVA

목록 보기
9/28

switch / case

if문 보다 좀 더 정형화된 조건 판단문이다.

switch/case문 구조

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

입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문에 속한 문장들이 실행된다.
case문에 break가 있으면 switch문을 빠져나간다.
만약 break 문이 없으면 그 다음의 case 문이 연속해서 실행된다.

default : 모든 case의 입력값에 해당하는 값이 아닐경우 default가 실행된다.

  • 한 case에 여러 실행문을 쓰고싶으면, 아래와같이 한줄에 여러 실행문을 쓰는것도 가능하다.
switch (number) {
                case "one" : temp += "1"; number = ""; break;
                case "two" : temp += "2"; number = ""; break;
                case "three" : temp += "3"; number = ""; break;
                case "four" : temp += "4"; number = ""; break;
                case "five" : temp += "5"; number = ""; break;
                case "six" : temp += "6"; number = ""; break;
                case "seven" : temp += "7"; number = ""; break;
                case "eight" : temp += "8"; number = ""; break;
                case "nine" : temp += "9"; number = ""; break;
                case "zero" : temp += "0"; number = ""; break;
               }

예시

public class Sample {
    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);
    }
}

입력값이 정형화되어 있는 경우 if문보다는 switch/case 문을 쓰는것이 가독성에서 좀 더 유리하다.
❗️switch 조건문에 들어갈 수 있는 입력 변수의 타입은 byte, short, char, int만 가능하다.

0개의 댓글