본문 바로가기

DEVELOPER/Java

Switch - Case 문

반응형

조건이 여러 개 일 때 간단히 표현

비교 조건이 특정 값이나 문자열인 경우 사용

break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함


예시 코드

public class SwitchCaseTest {

	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();
		
		int day;
		switch(month) {
		
			case 1: case 3: case 5: case 7: case 8: case 10: case 12:
				day = 31;
				break;
			case 2: 
				day = 28;
				break;
			
			case 4: case 6: case 9: case 11:
				day =30;
				break;
			
			default:
				System.out.println("존재하지 않는 달입니다.");
				day = -1;
		}
		System.out.println(month + "월은 " +day + "일 입니다.") ;
	}

}

자바 14부터 좀 더 간결해진 표현식이 지원 됨 ( break 사용하지 않음)
		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();
		
		int day = switch(month) {
		
			case 1, 3, 5, 7, 8, 10, 12 -> {
				System.out.println("한 달은 31일 입니다.");
				yield 31; // 반환
			}

			case 2 -> {
				System.out.println("한 달은 28일 입니다.");
				yield 28;
			}
			
			case 4, 6, 9, 11 ->
				30;
				
			default -> {
				System.out.println("존재하지 않는 달입니다.");
				yield 0;	
			}

		};
		
		System.out.println(month + "월은 " +day + "일 입니다.") ;
	}
반응형

'DEVELOPER > Java' 카테고리의 다른 글

반복문 - for문  (0) 2021.04.18
반복문 - while문  (0) 2021.04.18
조건문 - if문  (0) 2021.04.18
자바의 연산자  (0) 2021.04.18
상수와 리터럴, 변수의 형 변환  (0) 2021.04.18