ch4-9 switch문
처리해야 하는 경우의 수가 많을 때 유용한 조건문
조건식이 true, false가 아니다.
switch문의 조건식과 일치하는 case값이 없을 때 default로 간다.
default에는 break문 없어도 된다.
else 블럭처럼 default 생략가능.
switch문 if else문 비교
if문 조건식: true, false
조건식 여러개
switch문 조건식: 정수, 문자열
조건식 한개
단 제약조건이 있다.
제약조건으로 쓸 수 없을때 if else문 써야된다.
switch문은 항상 if문으로 바꿀 수 있다.
하지만 if문은 switch문으로 바꿀 수 없는 경우가 많다.
ch4-10 switch문의 제약 조건
1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.(자바jdk1.7버전부터 문자열도 가능)
2. case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다.
변수x 문자는 정수로 저장되기 때문에 가능하다.
case문은
(1) case 3:
case 4:
case 5:
(2) case 6: case 7: case 8:
(1), (2) 아무 방법이나 상관없다.
근데 깔끔하게 2번이 남
break문이 없으면
다른 case문까지 가버린다.
ch4-11 switch문의 제약조건 예제
import java.util.Scanner;
class Ex4_6 {
public static void main(String[] args) {
System.out.print("현재 월을 입력하세요.>");
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt(); // 화면을 통해 입력받은 숫자를 month에 저장
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:
// case 12: case 1: case 2:
System.out.println("현재의 계절은 겨울입니다.");
}
} // main의 끝
}
'프로그래밍 언어 > 자바의 정석 기초편' 카테고리의 다른 글
자바의 정석 기초편 ch4-13,14 for문 (0) | 2022.05.18 |
---|---|
자바의 정석 기초편 ch4-12 임의의 정수 만들기 (0) | 2022.05.17 |
자바의 정석 기초편 ch4-5~8 if-else if문, 중첩 if문 (0) | 2022.05.17 |
자바의 정석 기초편 ch4-1~4 조건문 if문과 if-else문 (0) | 2022.05.14 |
자바의 정석 기초편 ch3-17~19 조건 연산자, 대입 연산자 (0) | 2022.05.14 |