switch/case 문은 if 문과 비슷하지만 좀 더 정형화된 모습의 제어문이다.
switch/case 문의 구조는 다음과 같다.
switch(입력변수) {
case 입력값1: ...
break;
case 입력값2: ...
break;
...
default: ...
break;
}
입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문 하위의 문장이 실행된다. case문마다 break 라는 문장이 있는데 해당 case문을 실행 한 뒤 switch문을 빠져나가기 위한 것이다.
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/case 문 없이도 if/else로 충분히 코드를 작성할 수 있기 때문에 switch/case 문을 지원하지 않는 언어들도 있다. (※ 파이썬은 switch/case문이 없다.)