[Java 기초] switch-case 문

2022. 1. 19. 21:56·Java

- 비교 조건이 특정 값이나 문자열일때 사용

- break문 사용하여 각 조건 만족시 switch 블럭 빠져나오도록 함.

 

* 예제 코드

- 달을 입력 받아 일 수를 출력하는 프로그램

- case 입력 시 가독성을 위해 들여쓰기 해주기

- 같은 조건일 경우에는 case 연달아 써줄 수 있음

- day 변수 초기화 해주지 않으면 오류 발생

 

import java.util.*;

public class SwitchTest {

	public static void main(String[] args) {
		
		int month;
		Scanner scanner = new Scanner(System.in);
		month = scanner.nextInt();
		
		int day = 0;
		
		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("존재하지 않는 달입니다.");

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

}
 

* 실행 결과

 

* break문을 사용해주지 않으면

- 첫번째 조건 값 입력해도 다음 조건으로 넘어감

- break문 만나 day = 28; 수행

		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("존재하지 않는 달입니다.");
		}
 

 

* Java 14부터 지원되는 switch-case문

- case를 하나하나 입력해야 하는 번거로움이 줄었다

- break문 사용x

- switch문의 값을 반환 받을 수 있음 (블록 끝에 세미콜론(;) 필요)

- 별도의 수행 부분이 있을 때 값 반환 시 'yield' 키워드 사용

		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;
			}
		};
 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Java' 카테고리의 다른 글

[Java 기초] 반복문  (0) 2022.01.20
[Java 기초] 조건 연산자, 비트 연산자  (0) 2022.01.19
[Java 기초] 자료 표현하기  (0) 2022.01.19
'Java' 카테고리의 다른 글
  • [Java 기초] break문, continue문
  • [Java 기초] 반복문
  • [Java 기초] 조건 연산자, 비트 연산자
  • [Java 기초] 자료 표현하기
suaring
suaring
개발 공부 로그
  • suaring
    Sue's devlog
    suaring
  • 전체
    오늘
    어제
    • 분류 전체보기 (123)
      • Algorithm (2)
      • WEB (8)
      • Spring (26)
      • Java (83)
      • Kotlin (1)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
suaring
[Java 기초] switch-case 문
상단으로

티스토리툴바