728x90
반응형
SMALL
SWITCH
switch (조건식) {
case 값1:
조건식의 결과가 값1과 같을 경우 수행할 문장; break;
case 값2:
조건식의 결과가 값2와 같을 경우 수행할 문장;
break;
....
default:
조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
}
- 처리해야 하는 경우의 수가 많을 때 유용한 조건문
- break; 를 작성해 주지 않으면 switch 문 끝까지 실행됨!
- default 문은 생략 가능
- if 조건문과 비교해보면 if 는 조건식 결과에 true/false 만 가능하고 switch 는 정수나 문자열 만 가능하다.
- 실행 흐름 확인하기
- 조건식을 계산한다.
- 조건식의 결과와 일치하는 case 문으로 이동한다.
- 해당 case 문의 문장들을 수행한다.
- break; 를 만나거나 switch 문이 끝나면 switch 문 전체를 빠져나간다.
switch 문의 제약조건
- switch 문의 조건식 결과는 정수 또는 문자열 이어야함
- case 문의 값은 정수 상수(문자 포함), 문자열 만 가능하며, 중복되지 않아야 한다.
int num, result;
final int ONE = 1;
switch (result) {
case '1': // OK. 문자 리터럴(정수 49와 동일)
case ONE: // OK. 정수 상수
case "YES" // OK. 문자열 리터럴
case num: // Error. 변수는 불가능
case 1.0: // Error. 실수도 불가능}
class Control2_1 {
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;
case 0: case 13:
System.out.println("이런식으로 case 문을 사용할 수 있습니다.");
break;
case 15:
default: monthString = "Invalid month";
}
System.out.println(monthString);
}
}
728x90
반응형
LIST
'개발 > JAVA' 카테고리의 다른 글
임의의 정수 만들기 (0) | 2023.01.19 |
---|---|
FOR (0) | 2023.01.19 |
IF (0) | 2023.01.19 |
조건 연산자와 대입 연산자 (0) | 2023.01.18 |
논리 연산자와 비트 연산자 (0) | 2023.01.18 |