상세 컨텐츠

본문 제목

[Java] switch 문

Java

by TUZA 2022. 4. 3. 12:23

본문

조건문 중에 switch 문이라는 것이 존재한다. switch 문을 통해 케이스 별로 원하는 값을 반환시킬 수 있다.

//기본 형식
switch(key) {
	case value : {
    	returnValue;
        break;
    }
}

//변형된 형식
switch (key) {
case value:case value:case value:{
	returnValue;
    break;  
	}
} 

//자바 14부터 지원하는 형식

switch (key) {
	case value1, value2, value3... -> returnValue;
    case value1, value2, value3... -> {
    		//yield는 {} 안에서만 사용이 가능하다.
    		yield = returnValue;
    	}
}
//기본 형식
package ch16;

import java.util.Scanner;

public class SwitchTest {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();

		int day;
		switch (month) {
		case 1: {
			day = 31;
			break;
		}
		case 2: {
			day = 28;
			break;
		}
		case 3: {
			day = 31;
			break;
		}
		case 4: {
			day = 30;
			break;
		...
        ...
        ...
        
		default:
			System.out.println("존재하지 않는 달입니다.");
			day = -1;

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

}

//자바 14부터 지원하는 형식
package ch16;

import java.util.Scanner;

public class SwitchTest {
	// 자바 14부터 지원함.
//	yield 키워드는 항상 Switch 블록 내부에서만 사용된다.
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int month = scanner.nextInt();

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

	}

}

 

반응형

'Java' 카테고리의 다른 글

[Java] 객체지향  (0) 2022.04.03
[Java] 반복문  (0) 2022.04.03
[Java] 자바의 연산자들  (0) 2022.04.01
[Java] 상수, 리터럴, 형 변환  (0) 2022.04.01
[Java] 데이터 타입  (0) 2022.03.31

관련글 더보기