La sentencia switch en Java es una sentencia de flujo de control que permite la ejecución de un bloque de código entre múltiples alternativas. Proporciona una forma más legible y eficaz de escribir una serie de sentencias if-else cuando se compara la misma expresión con distintos valores.
Utilización
La sentencia switch evalúa una expresión, compara el valor de la expresión con una serie de etiquetas case y ejecuta el bloque de código asociado a la coincidencia case. Si no coincide ningún case, se ejecuta el bloque default, si está presente.
Syntax
switch(expression){casevalue1:// code blockbreak;casevalue2:// code blockbreak;// more cases...default:// default code block}Con la tecnología de
expresión: Una variable o expresión que se evalúa una vez.
valor1, valor2, ...: Expresiones constantes con las que se compara el expression.
romper: Finaliza el bloque switch. Sin ella, la ejecución pasa a casos posteriores.
por defecto: Bloque opcional que se ejecuta si no coincide ningún case.
Ejemplos
Ejemplo 1: Básico switch Declaración
publicclassSwitchExample{publicstaticvoidmain(String[] args){
int number =2;switch(number){case1:
System.out.println("One");break;case2:
System.out.println("Two");break;case3:
System.out.println("Three");break;default:
System.out.println("Not in range");}}}Con la tecnología de
En este ejemplo, la sentencia switch evalúa la variable number. Como number es igual a 2, la salida será "Dos". La declaración break evita que se transmita a casos posteriores.
Ejemplo 2: switch con Cuerdas
publicclassSwitchStringExample{publicstaticvoidmain(String[] args){
String fruit ="Apple";switch(fruit){case"Apple":
System.out.println("Fruit is Apple");break;case"Banana":
System.out.println("Fruit is Banana");break;default:
System.out.println("Unknown fruit");}}}Con la tecnología de
Este ejemplo demuestra el uso de una sentencia switch con una String. El switch comprueba el valor de fruit, y como es "Manzana", la salida será "La fruta es Manzana".
Ejemplo 3: switch sin break
publicclassSwitchFallThroughExample{publicstaticvoidmain(String[] args){
int day =3;switch(day){case1:case2:case3:
System.out.println("Weekday");break;case4:case5:
System.out.println("Weekend");break;default:
System.out.println("Invalid day");}}}Con la tecnología de
En este ejemplo, se utilizan varias etiquetas case para ejecutar el mismo bloque de código. La salida será "Día laborable" porque day es 3, y la sentencia break impide que la ejecución caiga en los casos de "Fin de semana".
Consejos y buenas prácticas
Utiliza break Declaraciones: Incluye siempre las declaraciones break a menos que se desee una caída intencionada. Esto evita la ejecución involuntaria de casos posteriores.
Caso por defecto: Incluye un caso default para manejar valores inesperados y mejorar la robustez del código.
Tipos de expresión: La expresión switch puede ser del tipo byte, short, int, char, String, o un enum.
Evita la lógica compleja: Utiliza switch para escenarios sencillos con valores discretos. Para condiciones complejas, considera la posibilidad de utilizar declaraciones if-else.
Mejoras de Java 12+: En Java 12 y posteriores, las expresiones de conmutación permiten devolver valores y utilizar la palabra clave yield para obtener un código más conciso.
La sentencia
switchen Java es una sentencia de flujo de control que permite la ejecución de un bloque de código entre múltiples alternativas. Proporciona una forma más legible y eficaz de escribir una serie de sentenciasif-elsecuando se compara la misma expresión con distintos valores.Utilización
La sentencia
switchevalúa una expresión, compara el valor de la expresión con una serie de etiquetascasey ejecuta el bloque de código asociado a la coincidenciacase. Si no coincide ningúncase, se ejecuta el bloquedefault, si está presente.Syntax
expression.switch. Sin ella, la ejecución pasa a casos posteriores.case.Ejemplos
Ejemplo 1: Básico
switchDeclaraciónEn este ejemplo, la sentencia
switchevalúa la variablenumber. Comonumberes igual a 2, la salida será "Dos". La declaraciónbreakevita que se transmita a casos posteriores.Ejemplo 2:
switchcon CuerdasEste ejemplo demuestra el uso de una sentencia
switchcon unaString. Elswitchcomprueba el valor defruit, y como es "Manzana", la salida será "La fruta es Manzana".Ejemplo 3:
switchsinbreakEn este ejemplo, se utilizan varias etiquetas
casepara ejecutar el mismo bloque de código. La salida será "Día laborable" porquedayes 3, y la sentenciabreakimpide que la ejecución caiga en los casos de "Fin de semana".Consejos y buenas prácticas
breakDeclaraciones: Incluye siempre las declaracionesbreaka menos que se desee una caída intencionada. Esto evita la ejecución involuntaria de casos posteriores.defaultpara manejar valores inesperados y mejorar la robustez del código.switchpuede ser del tipobyte,short,int,char,String, o un enum.switchpara escenarios sencillos con valores discretos. Para condiciones complejas, considera la posibilidad de utilizar declaracionesif-else.yieldpara obtener un código más conciso.