if문 보다 좀 더 정형화된 조건 판단문이다.
switch/case문 구조
switch(입력변수) {
case 입력값1: ...
break;
case 입력값2: ...
break;
...
default: ...
break;
}
입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문에 속한 문장들이 실행된다.
case문에 break가 있으면 switch문을 빠져나간다.
만약 break 문이 없으면 그 다음의 case 문이 연속해서 실행된다.
default : 모든 case의 입력값에 해당하는 값이 아닐경우 default가 실행된다.
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만 가능하다.