728x90
반응형
해당 글은 남궁성님의 자바의 정석을 학습 후에 작성되었습니다.
switch문
처리해야 하는 경우의 수가 많을 때 유용한 조건문이다.
switch(조건식) {
case 값1:
// 조건식의 결과가 값1과 같은 경우 수행될 문장
// ...
break;
case 값2:
// 조건식의 결과가 값2와 같은 경우 수행될 문장
// ...
break;
default:
// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
}
동작 과정
- 조건식을 계산한다.
- 조건식의 결과와 일치하는 case문으로 이동한다.
- 이후의 문장들을 수행한다.
- break문이나 switch문의 끝을 만나면 switch문 전체를 나간다.
if-else문보다 switch문이 유용한 경우?
- 처리해야 하는 경우의 수가 많을 때 유용하다.
- if-else문의 조건식은 결과과 true/false여야 하지만 switch문은 다양한 값이 나올 수 있다.
- If-else문은 조건식이 여러 개가 나와야 하지만 switch문은 조건식이 하나면 된다.
switch문의 제약 조건
- switch문의 조건식의 결과는 정수 또는 문자열(JDK 1.7부터 허용)이어야 한다.
- case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다.
- 변수는 안된다.
example
int num = 2;
...
switch(result) {
case '1': // ok, 문자 리터럴
case ONE: // ok, 정수 상수
case "YES": // ok, 문자열 리터럴. JDK 1.7부터 사용 가능
case num: // error, 변수는 불가
case 1.0: // error, 실수는 불가
}
728x90
반응형
'웹 프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] break문, continue 문, 이름 붙은 break 문 (0) | 2022.02.02 |
---|---|
[JAVA] 반복문 - for문, 중첩 for문, while문, do-while문 (0) | 2021.12.06 |
[JAVA] 연산자 (0) | 2021.11.19 |
[JAVA] CountDownLatch란? (0) | 2021.10.28 |
[JAVA] 변수란? (0) | 2021.10.18 |