본문 바로가기
쿤즈 Dev/Java

[Java] 조건문 (switch) 사용 방법

by :)Koon 2023. 8. 19.

이전 포스팅에서 조건문 (if) 사용 방법과 삼항 연산자 사용 방법에 대해서 알아보았다. 조건문은 프로그래밍에서 필수 요소 중 하나다. true, false를 판단해야 하는 요소들이 많이 때문이다. 조건이 많을수록 'esle if' 문의 길이가 길어지다 보니 불편한 부분이 있고 이를 해소할 수 있는 문법 중의 하나가 바로 조건문 (switch)이다.

이번 포스팅에서는 조건문 switch에 대해서 알아보자.


조건문 switch

자바(Java)에서 'switch' 문은 특정 값에 따라 다양한 조건 분기를 처리하는 데 사용되는 제어 구문이다. 'switch' 문은 주로 정수형 값이나 문자열을 기반으로 작동하며, 일치하는 경우 해당하는 코드 블록이 실행된다. 다음은 자바에서 'switch' 문의 기본 구문과 사용법에 대한 설명이다.

switch (표현식) {
    case 값1:
        // 값1과 일치하는 경우 실행될 코드
        break; // switch 문을 종료하고 빠져나감

    case 값2:
        // 값2와 일치하는 경우 실행될 코드
        break;

    // 추가적인 case 문들

    default:
        // 모든 case와 일치하지 않는 경우 실행될 코드
        break;
}

 

  • 표현식: 표현식은 조건을 나타내는 값이나 변수를 의미한다. 이 값과 각 case의 값들을 비교한다.
  • case 값: '표현식'과 비교할 값이다. 일치하는 경우 'case' 블록의 코드가 실행된다.
  • break: 각 'case' 블록에서 실행을 중단하고 'switch'문을 빠져나가기 위해 사용된다. 만약 'break'문이 없다면 다음 case를 실행하기 때문에 원하는 결과가 달라질 수 있다.
  • default: 상단에 모든 case를 비교해도 일치하지 않는다면 마지막이 실행될 코드 블록이다. 이는 선택사항이다.

 

예제를 통해서 다시 알아보자.

public class SwitchTest {
    public static void main(String[] args) {
        int day = 5;
        String dayName = null;

        switch (day) {
            case 1:
                dayName = "Monday";
                break;
            case 2:
                dayName = "Tuesday";
                break;
            case 3:
                dayName = "Wednesday";
                break;
            case 4:
                dayName = "Thursday";
                break;
            case 5:
                dayName = "Friday";
                break;
            default:
                dayName = "Invalid day";
                break;
        }

        System.out.println("Day: " + dayName);
    }
}

'day' 변수에는 미리 정수 5를 할당해 놓았다. 그리고 switch 문에 비교할 데이터에 day를 넣고 각각 case 별로 구분을 지어놓았다. 따라서 day는 case 5의 값과 일치하므로 dayName에 'Friday'를 할당하고 break 하게 된다. break 가 있기 때문에 case 5 블록만 처리하고 switch 문을 빠져나오게 된다.


이번 포스팅에서는 조건문의 두 번째인 switch 문에 대해서 알아보았다. 조건문 if를 생각보다 많이 사용하지만 때에 따라서 필요할 때 switch 문도 사용하게 되니 여러 가지 예제를 만들어서 익숙해져 보면 좋을 것 같다.

댓글