Ch4-9~11. switch문
0. 목차
Chapter4. 조건문과 반복문
Ch4 - 9. switch문
Ch4 - 10. switch문의 제약조건
Ch4 - 11. switch문의 제약조건 예제
Ch4 - 9. switch문
▶ switch문이란?
▷ 처리해야하는 경우의 수가 많을 때 유용한 조건문
- 조건식 계산
- 조건식의 결과와 일치하는 case문으로 이동
- case문 아래의 문장들을 수행
- break문 또는 switch문의 끝을 만나면 switch문 전체를 빠져나감
switch (조건식) { case 값a : // 조건식의 값이 a일 때, 이 부분(case 값a : _)을 실행 break; // switch문 빠져나감 case 값b : // 조건식의 값이 b일 때, 이 부분(case 값b : _)을 실행 break; default : // 조건식의 결과가 일치하는 case문이 없을 때, 이 부분(default : _)을 실행 // default문은 생략가능 }
▶ if문과 switch문
▷ 조건식 값
- if문 조건식 값 : true or false → 2가지
- switch문 조건식 값 : 정수 or 문자열 → 여러가지
▷ 조건식
- if문 조건식 : 여러 번 → true와 false 밖에 계산을 못해서 식이 많음
- switch문 조건식 : 한 번 → case만 추가하면 됨
Ch4 - 10. switch문의 제약조건
▶ switch문의 제약조건
▷ switch문의 조건식 결과는 정수 또는 문자열
▷ case문의 값은 정수, 상수(문자포함), 문자열만 가능 - 변수 안됨, 중복 안됨
int num, result;
final int ONE = 1;
switch(result) {
case '1' : // 가능, 문자 리터럴
case ONE : // 가능, 정수 상수
case "YES" : // 가능, 문자열 리터럴
case num : // 불가능, 변수
case 1.0 : // 불가능, 실수
}
Ch4 - 11. switch문의 제약조건 예제
▶ 월 입력 시, 계절 출력
▷ case1 : 봄 3, 4, 5월
▷ case2 : 여름 6, 7, 8월
▷ case3 : 가을 9, 10, 11월
▷ case4 : 겨울 12, 1, 2월
System.out.printf("지금은 몇 월 인가요? > ");
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
switch (month) {
case 3: case 4: case 5:
System.out.println("봄봄봄~");
break;
case 6: case 7: case 8:
System.out.println("여름~!");
break;
case 9: case 10: case 11:
System.out.println("가을...");
break;
default:
System.out.println("겨울~**");
// console
지금은 몇 월 인가요? > 6
여름~!
case문은 가로로 작성해도 됨