El control de flujo en cualquier lenguaje de programación es esencial para crear programas que puedan tomar decisiones y ejecutar diferentes bloques de código en función de condiciones específicas. Java, al ser un lenguaje de programación robusto y ampliamente utilizado, ofrece varias construcciones para el control de flujo, incluidas if, else, switch y bucles como para, mientras y hacer-mientras. En este texto, nos centraremos específicamente en la declaración switch y en cómo puede utilizar múltiples casos para controlar el flujo de su programa.

La instrucción switch es una estructura de flujo de control que le permite ejecutar diferentes partes de código según el valor de una variable. Es una alternativa al uso de múltiples declaraciones if-else-if, proporcionando un código más limpio y legible, especialmente cuando se trata de muchas condiciones.

Declaración básica de switch

En Java, la sintaxis básica de una instrucción switch es la siguiente:


cambiar (variable) {
    valor de caso1:
        // Bloque de código para valor1
        romper;
    valor de caso2:
        // Bloque de código para valor2
        romper;
    //...
    por defecto:
        // bloque de código predeterminado
}

La variable utilizada en la declaración switch puede ser de tipo byte, short, char, int, String o enum. Cuando el valor de la variable coincide con uno de los valores especificados en los casos (case), se ejecuta el bloque de código asociado. La palabra clave break se utiliza para salir de la instrucción switch después de ejecutar el bloque de código de un caso específico. Si ninguno de los casos coincide, se ejecuta el bloque de código en default.

Declaración de casos múltiples en switch

En determinadas situaciones, es posible que desee que varios casos ejecuten el mismo bloque de código. Esto se puede lograr alineando casos sin un bloque de código o una declaración break en el medio. Veamos un ejemplo:


cambiar (día laborable) {
    caso 1:
    caso 2:
    caso 3:
    caso 4:
    caso 5:
        System.out.println("Día hábil");
        romper;
    caso 6:
    caso 7:
        System.out.println("Fin de semana");
        romper;
    por defecto:
        System.out.println("Día no válido");
}

En este ejemplo, si dayOfWeek tiene cualquier valor entre 1 y 5, el programa imprimirá "Workday". Si es 6 o 7, imprimirá "Fin de semana". Si es cualquier otro valor, imprimirá "Día no válido". Al omitir la instrucción break entre los casos 1 a 5, nos aseguramos de que todos ejecuten el mismo bloque de código.

Consideraciones importantes

Hay algunas consideraciones importantes al utilizar la declaración switch en Java:

  • Descansos: Utilice siempre la palabra clave break para evitar "caer" al siguiente caso. Olvidarse de incluir un descanso es un error común que puede provocar un comportamiento inesperado.
  • Predeterminado: Aunque no es obligatorio, es una buena práctica incluir una cláusula default para manejar cualquier valor que no coincida con ninguno de los casos especificados.
  • Constantes: Los valores de caso deben ser constantes o literales. No se permiten variables.
  • Tipos de datos: La variable utilizada en la expresión switch debe ser compatible con los tipos permitidos.

Java SE 12 y la expresión switch

Con Java SE 12 y versiones posteriores, la expresión switch se ha mejorado para admitir una sintaxis más flexible y potente. Esto incluye el uso de yield para devolver valores de un switch y la capacidad de usar switch como una expresión en sí. A continuación se muestra un ejemplo de cómo puede utilizar switch en una expresión:


String dayType = cambiar (día laborable) {
    caso 1, 2, 3, 4, 5 -> "Día laboral";
    caso 6, 7 -> "Fin de semana";
    predeterminado -> "Día no válido";
};
System.out.println(tipoDeDía);

En este ejemplo, la expresión switch se utiliza para asignar un valor a la variable typeOfDay en función del valor de dayOfWeek. La sintaxis de flecha (->) elimina la necesidad de break y permite una expresión directa del resultado para cada caso.

Conclusión

La instrucción switch es una poderosa herramienta para controlar el flujo de su programa Java. El uso de varios casos para ejecutar el mismo bloque de código puede hacer que su código sea más conciso y más fácil de entender. Con actualizaciones recientes del lenguaje Java, la expresión switch se ha vuelto aún más flexible y expresivo. Al dominar el uso de switch y otras construcciones de control de flujo, estará bien equipado para escribir programas Java eficientes y sofisticados.

Ahora responde el ejercicio sobre el contenido:

_¿Cuál de las siguientes afirmaciones sobre la declaración `switch` en Java es correcta?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Arrays y la clase Arrays

Siguiente página del libro electrónico gratuito:

55Arrays y la clase Arrays

5 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.