[작성일: 2023. 01. 14]
switch ~ case
- 조건식의 결과가 아니라 값만으로 비교할 수 있을 때 사용
- if문보다 속도가 빠름
- if문의 조건식과는 다르게 조건식의 계산결과가 int 타입의 정수와 문자열만 가능
- 조건식의 계산결과와 일치하는 case문으로 이동 후, break문을 만날 때까지 문장을 수행.
- break문이 없으면 switch문의 끝까지 진행함.
- 일치하는 case문의 값이 없는 경우 default문으로 이동함. ( default문 생략 가능)
- case문의 값으로 변수를 사용할 수 없음. (리터럴, 상수, 문자열 상수만 가능)
사용 방법
switch(변수) {
case 값1:
값1일 때 실행할 문장;
break;
case 값2:
값2일 때 실행할 문장;
break;
...
default:
모든 값에 해당하지 않을 때 실행할 문장;
// default를 적지 않으면 아무런 실행도 하지 않음.
// break문 필요없음
}
중첩 switch문
- switch문 안에 또 다른 switch문을 중첩해서 넣을 수 있음.
- switch문의 중첩 횟수는 거의 제한이 없음.
사용 방법
switch(baseball) {
case 1:
case 2:
System.out.println("LG");
if(num==1) {
System.out.println("1");
} else if(num==2) {
System.out.println("2");
}
break;
case 3:
System.out.println("NC");
break;
case 4:
System.out.println("SSG");
break;
default:
System.out.println("NO TEAM")
}
if문 vs switch문
- if문이 주로 사용되며 경우의 수가 많은 경우 switch문을 사용할 것을 고려함.
- 모든 switch문은 if문으로 변경 가능하나, if문은 switch문으로 변경할 수 없는 경우가 있음.
- if문보다 switch문이 더 간결하고 효율적임.
🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.