[Java 기초] switch-case 문

2022. 1. 19. 21:56·Java & Kotlin

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

- 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 & Kotlin' 카테고리의 다른 글

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

  • 최근 댓글

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.