본문 바로가기

백엔드/자바

스위치

반응형

 

스위치는 조건처리를 위한 코드로 대부분의 언어에서 제공되며 근본적으로 이프 엘스 구문과 동일한 기능을 수행합니다. 이프 엘스 구문에 비해 가독성이 높은 장점이 있습니다. 자바 스위치문법을 살펴보겠습니다.

목차

기본문법

switch(<Value>)

밑에 올 케이스에서 지정된 조건과 비교될 값이 들어가는 코드로 자바에서 값으로 사용한 타입은 아래와 같음 (기타 double 등은 값으로 사용불가)

byte, short, int, char, Byte, Short, Integer, Character, String, enum

case <condition>:

유입된 값과 비교될 조건을 지정하는 코드

default :

지정된 조건과 맞는 값이 없는 경우 사용되는 코드

break

스위치 구문을 정지시키는 코드로 특정 케이스 조건과 일치하더라도 브레이크 문을 사용하지 않으면 스위치 구문 끝까지 실행됨 (fall through)

사용예시

스위치 구문을 사용하는 방법을 보겠습니다. 문법은 기존 방식과 자바 14 이후 향상된 스위치 방식으로 크게 나뉨

스위치

▶ 반환 값없음

switch (number) {
    case 0:
        System.out.println("ZERO");
        break;
    case 1:
        System.out.println("ONE");
        break;
    case 2:
        System.out.println("TWO");
        break;
    case 3:
        System.out.println("THREE");
        break;
    default:
        System.out.println("OTHER");
        break;
}

▶ 반환 값없음 (복수 조건)

switch (number) {
    case 0:
        System.out.println("ZERO");
        break;
    case 1:
        System.out.println("ONE");
        break;
    case 2: case 3:
        System.out.println("TWO");                       
        System.out.println("THREE");
        break;
    default:
        System.out.println("OTHER");
        break;
}

▶ 반환 값있음

switch (number) {
    case 0:
        return "ZERO";
        break;
    case 1:
        return "ONE";
        break;
    case 2: case 3:
        return "TWO THREE";                               
        break;
    default:
        return "OTHER";
        break;
}

향상된 스위치

자바 14 이후로 사용가능한 기능으로 이전 스위치에 비해 문법이 간결함

▶ 반환 값없음

switch (value) {
    case "1" -> System.out.println("good");        
    case "2" -> System.out.println("bad");        
    default -> System.out.println("What");        
}

▶ 반환 값없음 (복수 조건)

switch (value) {
    case "1", "2" -> System.out.println("good");            
    default -> System.out.println("What");        
}

▶ 반환 값있음

switch (value) {
    case "1" -> {
        System.out.println("good");
        return "1";
    }
    case "2" -> {
        System.out.println("bad");
        return "2";
    }
    default -> {
        System.out.println("What");
        return "3";
    }
}

또는

return switch (value) {
    case "1" -> "1";    
    case "2" -> "2";    
    default -> "3";    
}

이상으로 자바 스위치 구문에 대해 알아보았습니다.

 

728x90
반응형

'백엔드 > 자바' 카테고리의 다른 글

상속  (0) 2023.12.28
클래스  (0) 2023.12.28
스프링 부트 폼  (1) 2023.10.22
롬복  (0) 2023.10.07
스프링 부트 시큐리티  (0) 2023.10.01