Java에서 하나의 Switch Case 문에 여러 값 사용

Shubham Vora 2023년10월12일
  1. switch-case 문 사용
  2. 하나의 switch-case 문에 둘 이상의 값 사용
  3. 화살표 구문을 사용하여 하나의 switch-case 문에 여러 값 사용
Java에서 하나의 Switch Case 문에 여러 값 사용

이 기사에서는 하나의 switch-case 문에 대해 여러 값을 사용하는 방법을 배웁니다.

switch-case 문 사용

Java는 프로그래머가 switch case 문을 사용하여 다른 프로그래밍 언어와 같이 너무 많은 if-else 조건문을 극복할 수 있도록 합니다. 또한 사용자가 switch-case 문을 사용하면서 여러 경우에 대해 동일한 작업을 수행하려면 어떻게 해야 합니까?

일반적으로 사용자는 아래와 같이 할 수 있습니다.

class Test {
  public static void main(String[] args) {
    int num = 9;
    switch (num % 4) {
      case 1:
        System.out.println("num is not divisible by 4.");
        break;
      case 2:
        System.out.println("num is not divisible by 4.");
        break;
      case 3:
        System.out.println("num is not divisible by 4.");
        break;
      case 0:
        System.out.println("num is divisible by 4.");
        break;
      default:
        System.out.println("num is not divisible by 4.");
    }
  }
}

위의 예에서는 switch-case 문을 사용하여 숫자가 4로 나누어 떨어지는지 확인합니다. switch-case 문에서 num%4 조건을 사용하고 모듈로 연산을 기반으로 응답을 인쇄합니다. .

사용자는 모듈로 1, 2 및 3에 대해 동일한 문장을 인쇄하고 있음을 알 수 있습니다. num은 4로 나눌 수 없습니다.

출력:

num is not divisible by 4.

하나의 switch-case 문에 둘 이상의 값 사용

숫자를 4로 나눌 수 있는지 여부를 결정하기 위해 switch-case 문을 사용하여 위의 예에서 10줄의 코드를 작성했습니다. 단일 switch-case 문에 여러 값을 사용하여 해당 코드를 더 명확하고 읽기 쉽게 만들 수 있습니다.

아래 예에서는 사례 1, 2 및 3에 대해 단일 switch-case 문을 사용했습니다. 사용자는 코드가 더 명확하고 읽기 쉽고 여전히 동일한 출력을 제공하는 것을 볼 수 있습니다.

예제 코드:

public class Test {
  public static void main(String[] args) {
    int num = 9;
    switch (num % 4) {
      case 1:
      case 2:
      case 3:
        System.out.println("num is not divisible by 4.");
        break;
      case 0:
        System.out.println("num is divisible by 4.");
        break;
      default:
        System.out.println("num is not divisible by 4.");
    }
  }
}

출력:

num is not divisible by 4.

화살표 구문을 사용하여 하나의 switch-case 문에 여러 값 사용

Java 14에는 switch-case 문에 대한 새로운 구문이 도입되었습니다. 사용자는 쉼표를 구분하여 단일 case에 대해 여러 값을 추가할 수 있으며 사용자는 중괄호 안에 실행 코드를 넣어야 합니다.

switch-case 문의 화살표 구문은 다음과 같습니다.

case firstCase, secondCase,
    thirdCase
    -> {
        // executable code
}

예제 코드:

public class Test {
  public static void main(String[] args) {
    int num = 9;
    switch (num % 4) {
        case 1,2,3 -> {
            System.out.println("num is not divisible by 4.");
        }
        case 0->{
            System.out.println("num is divisible by 4.");
        }
        default->{
            System.out.println("num is not divisible by 4.");
        }
    }
    }
}

위의 예에서는 숫자가 4로 나누어 떨어지는지 확인하면서 1, 2 및 3 사례에 대해 switch-case 문의 새 구문을 사용했습니다.

출력:

num is not divisible by 4.

예제 코드: switch-case를 사용하여 특정 연도의 월 일수 반환

다음 예에서는 switch-case 화살표 구문을 사용하여 현재 월의 일 수를 가져왔습니다. 사용자는 yield를 사용하여 1, 3, 5, 7, 8, 10 및 12 사례에 대해 31일을 반환하고 4, 6, 9 및 11 사례에 대해 30일을 반환하고 있음을 알 수 있습니다.

public class Test {
  public static void main(String[] args) {
    int monthToCheck = 2;
    int yearToCheck = 1968;
    int days = switch (monthToCheck){case 4, 6, 9, 11 -> {yield 30;
  }
            case 1, 3, 5, 7, 8, 10, 12 ->{
               yield 31;
            }
            case 2 ->{
                if ((( monthToCheck % 4 == 0) &&
                        !( monthToCheck % 100 == 0))
                        || ( monthToCheck % 400 == 0))
                    yield 29;
                else
                   yield 28;
            }
            default ->{
                System.out.println("Month is not valid.");
                yield -1;
            }
        };
        System.out.println("Number of Days in month " + monthToCheck + " is = " + days);
    }
}

출력:

Number of Days in month 2 is = 28

이 기사에서는 다양한 예제를 통해 단일 switch-case 문에 여러 값을 사용하는 방법을 설명했습니다. 또한 여러 값이 있는 switch-case 문을 사용하여 일 수를 가져오는 실제 예를 보았습니다.

단일 switch-case 문에 대해 여러 값을 사용하여 코드를 명확히 할 수 있습니다.

작가: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub

관련 문장 - Java Switch