Use valores múltiples para una declaración de caso de cambio en Java

Shubham Vora 12 octubre 2023
  1. Utilice la instrucción switch-case
  2. Utilice dos o más valores para una instrucción switch-case
  3. Use la sintaxis de la flecha para usar valores múltiples para una instrucción switch-case
Use valores múltiples para una declaración de caso de cambio en Java

En este artículo, aprenderemos a usar múltiples valores para una declaración switch-case.

Utilice la instrucción switch-case

Java permite a los programadores superar demasiadas sentencias condicionales if-else como otros lenguajes de programación mediante el uso de la sentencia switch case. Además, ¿qué sucede si los usuarios desean realizar la misma operación para varios casos mientras usan la instrucción switch-case?

Por lo general, los usuarios pueden hacer lo siguiente.

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.");
    }
  }
}

En el ejemplo anterior, usamos la declaración switch-case para verificar si el número es divisible por 4. Usamos la condición num%4 en la declaración switch-case e imprimimos la respuesta basada en la operación de módulo .

Los usuarios pueden ver que estamos imprimiendo la misma frase para los módulos 1, 2 y 3: num no es divisible por 4.

Producción :

num is not divisible by 4.

Utilice dos o más valores para una instrucción switch-case

Para determinar si un número es divisible por cuatro o no, usando una instrucción switch-case, hemos escrito las decenas de líneas de código en el ejemplo anterior. Podemos hacer que el código sea más claro y más legible mediante el uso de múltiples valores para una sola instrucción switch-case.

En el siguiente ejemplo, usamos una sola declaración de “cambio de caso” para los casos 1, 2 y 3. Los usuarios pueden ver que el código se ve más claro y más legible y todavía da el mismo resultado.

Código de ejemplo:

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.");
    }
  }
}

Producción :

num is not divisible by 4.

Use la sintaxis de la flecha para usar valores múltiples para una instrucción switch-case

Java 14 introduce una nueva sintaxis para la instrucción switch-case. Los usuarios pueden agregar múltiples valores para un solo caso separando la coma, y los usuarios deben colocar el código ejecutable entre llaves.

La sintaxis de la flecha para la instrucción switch-case es:

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

Código de ejemplo:

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.");
        }
    }
    }
}

En el ejemplo anterior, hemos utilizado la nueva sintaxis de la instrucción switch-case para los casos 1, 2 y 3 mientras verificamos si el número es divisible por 4.

Producción :

num is not divisible by 4.

Código de ejemplo: devolver el número de días del mes de un año en particular usando switch-case

En el siguiente ejemplo, usamos la sintaxis de flecha switch-case para obtener el número de días del mes actual. Los usuarios pueden ver que estamos devolviendo los 31 días para 1, 3, 5, 7, 8, 10 y 12 casos utilizando el rendimiento y 30 días para 4, 6, 9 y 11 casos.

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);
    }
}

Producción :

Number of Days in month 2 is = 28

Este artículo nos enseñó a usar múltiples valores para una sola instrucción switch-case a través de diferentes ejemplos. Además, hemos visto el ejemplo de la vida real de obtener la cantidad de días usando las declaraciones switch-case con múltiples valores.

Podemos clarificar nuestro código usando múltiples valores para una sola instrucción switch-case.

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

Artículo relacionado - Java Switch