자바 조건문에서 흔히들 사용하는 if else 구문 이외에 switch case 구문이 사용되는 경우가 있습니다.
switch case문이 사용되는 경우는 보통 가독성을 위해서 쓰는 경우가 많습니다.
if (조건식) {
수행문 1; // 조건식이 참일 경우 수행.
}
// 블럭 안에 수행문이 1개일 경우 괄호 {} 생략이 가능함
if (조건식) 수행문;
// if-else 문
if (조건식) {
수행문 1; // 조건식이 참일 경우 수행.
} else {
수행문 2; // 조건식이 거짓일 경우 수행.
}
==================================================
if (조건식 1) {
수행문 1; // 조건식 1이 참일 경우 수행
} else if (조건식 2)
수행문 2; // 조건식 2가 참일 경우 수행
} else if (조건식 3) {
수행문 3; // 조건식 3이 참일 경우 수행
} else {
수행문 4; // 조건식 1~3에 모두 해당하지 않을 경우 수행
};
기본적인 if 문이 동작하는 형태입니다. 조건심이 참이면 수행문이 실행되고, 조건식이 거짓이라면 else-if 나 else 구문을 수행합니다.
if-else 구문은 조건문의 참 거짓 여부에 따라 그에 해당하는 각각 2개의 흐름으로 갈라집니다. if-else 구문을 중첩하면 2개 이상의 control flow를 가질 수 있습니다.
Switch case구문
switch (조건) {
case 값1:
수행문1;
break;
case 값2:
수행문2;
break;
case 값3:
수행문3;
break;
default:
수행문4;
}
Switch case 구문의 조건식은 결괏값이 반드시 정수(문자)이거나 문자열이어야 하며, case구문의 값은 중복되면 안됩니다.
break;구문을 만나면 switch-case 구문을 빠져나갑니다. 그래서 break를 넣는것을 생략한다면 모든 case의 문장을 수행하게 됩니다.
만약 조건식의 결과와 일치하는 case가 없다면 default구문을 수행하고 빠져나오게 됩니다.
Java14부터 지원되는 Switch Expression
static void test(Day day){
switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY -> System.out.println(7);
case THURSDAY, SATURDAY -> System.out.println(8);
case WEDNESDAY -> System.out.println(9);
}
}
- case를 여러 번 중복해서 쓰지 않고 간단하게 (,)로 구분해서 쓸 수 있다. 그리고 실행하는 로직을 -> 로 사용할 수 있다.
- 실행 로직이 여러 줄인 경우 { } 안에 사용할 수 있으며, break문을 사용하지 않아도 된다.
- 실행 로직이 여러 줄인 경우return 값을 명시하기 위해 yield 키워드를 사용하여 반환할 수 있다.
위와 같은 코드를 Switch Expression을 통해서 아래와 같이 바꿀 수 있다.
'야놀자 테크스쿨' 카테고리의 다른 글
[야놀자 테크스쿨] 계획 (0) | 2023.07.25 |
---|---|
[Java] 반복문(break, continue) (0) | 2023.07.21 |
Java 연산자 (삼항 연산자, 비트 연산자) (0) | 2023.07.19 |
Java의 자료형(리터럴과 부동소수점 방식) (0) | 2023.07.18 |
[야놀자 테크스쿨] 부트캠프 시작! (0) | 2023.07.12 |