La palabra clave switch en Java se utiliza para ejecutar un bloque de código entre muchas alternativas. Es una sentencia de control que permite comprobar la igualdad de la variable con una lista de valores, cada uno con su propio bloque de código.
Utilización
La sentencia switch proporciona una forma más limpia y legible de manejar múltiples ramas condicionales en comparación con el uso de múltiples sentencias if-else.
Syntax
switch(expression){casevalue1:// code blockbreak;casevalue2:// code blockbreak;// more cases...default:// default code block}Con la tecnología de
expression: La variable o expresión cuyo valor se compara con los valores del caso.
case value: Un valor constante con el que se compara la expresión. Si coinciden, se ejecuta el bloque de código correspondiente.
break: Termina la declaración switch, evitando la caída.
default: Se ejecuta si ningún valor de caso coincide con la expresión.
Ejemplos
Ejemplo 1: Uso básico
publicclassSwitchExample{publicstaticvoidmain(String[] args){
int day =3;switch(day){case1:
System.out.println("Monday");break;case2:
System.out.println("Tuesday");break;case3:
System.out.println("Wednesday");break;case4:
System.out.println("Thursday");break;case5:
System.out.println("Friday");break;case6:
System.out.println("Saturday");break;case7:
System.out.println("Sunday");break;default:
System.out.println("Invalid day");}}}Con la tecnología de
En este ejemplo, la variable day se compara con los valores del caso. Como day es 3, la salida será "miércoles".
Ejemplo 2: Utilizar cadenas
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;case"Cherry":
System.out.println("Fruit is Cherry");break;default:
System.out.println("Unknown fruit");}}}Con la tecnología de
Este ejemplo muestra cómo utilizar una declaración switch con valores String. Como fruit es "Manzana", la salida será "La fruta es Manzana".
Ejemplo 3: Comportamiento Fall-Through
publicclassSwitchFallThroughExample{publicstaticvoidmain(String[] args){
int num =2;switch(num){case1:
System.out.println("One");case2:
System.out.println("Two");case3:
System.out.println("Three");break;default:
System.out.println("Default case");}}}Con la tecnología de
En este ejemplo, la ausencia de declaraciones break provoca un comportamiento de caída. Como num es 2, la salida será:
Utiliza break Declaraciones: Utiliza siempre las declaraciones break para evitar las caídas, a menos que se desee explícitamente.
Caso por defecto: Incluye un caso default para manejar valores inesperados.
Valores constantes: Asegúrate de que los valores de case son constantes o literales.
Tipo Compatibilidad: La expresión switch puede ser de los tipos byte, short, char, int, String, o de un tipo enum. Asegúrate de que los valores de caso son compatibles con el tipo de la expresión.
Código legible: Utiliza las sentencias switch para que tu código sea más legible y fácil de mantener en comparación con las múltiples sentencias if-else.
Mejoras de Java 12: A partir de Java 12, puedes utilizar expresiones de conmutación para devolver valores directamente de los casos, lo que simplifica la sintaxis y mejora la legibilidad del código.
enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY}publicclassSwitchEnumExample{publicstaticvoidmain(String[] args){
Day day = Day.WEDNESDAY;switch(day){caseMONDAY:
System.out.println("Monday");break;caseTUESDAY:
System.out.println("Tuesday");break;caseWEDNESDAY:
System.out.println("Wednesday");break;caseTHURSDAY:
System.out.println("Thursday");break;caseFRIDAY:
System.out.println("Friday");break;caseSATURDAY:
System.out.println("Saturday");break;caseSUNDAY:
System.out.println("Sunday");break;}}}Con la tecnología de
Utilizar enums en las sentencias switch puede mejorar la legibilidad del código y la seguridad de tipos.
La palabra clave
switchen Java se utiliza para ejecutar un bloque de código entre muchas alternativas. Es una sentencia de control que permite comprobar la igualdad de la variable con una lista de valores, cada uno con su propio bloque de código.Utilización
La sentencia
switchproporciona una forma más limpia y legible de manejar múltiples ramas condicionales en comparación con el uso de múltiples sentenciasif-else.Syntax
expression: La variable o expresión cuyo valor se compara con los valores del caso.case value: Un valor constante con el que se compara la expresión. Si coinciden, se ejecuta el bloque de código correspondiente.break: Termina la declaraciónswitch, evitando la caída.default: Se ejecuta si ningún valor de caso coincide con la expresión.Ejemplos
Ejemplo 1: Uso básico
En este ejemplo, la variable
dayse compara con los valores del caso. Comodayes 3, la salida será "miércoles".Ejemplo 2: Utilizar cadenas
Este ejemplo muestra cómo utilizar una declaración
switchcon valoresString. Comofruites "Manzana", la salida será "La fruta es Manzana".Ejemplo 3: Comportamiento Fall-Through
En este ejemplo, la ausencia de declaraciones
breakprovoca un comportamiento de caída. Comonumes 2, la salida será:Consejos y buenas prácticas
breakDeclaraciones: Utiliza siempre las declaracionesbreakpara evitar las caídas, a menos que se desee explícitamente.defaultpara manejar valores inesperados.switchpuede ser de los tiposbyte,short,char,int,String, o de un tipo enum. Asegúrate de que los valores de caso son compatibles con el tipo de la expresión.switchpara que tu código sea más legible y fácil de mantener en comparación con las múltiples sentenciasif-else.Utilizar enums en las sentencias
switchpuede mejorar la legibilidad del código y la seguridad de tipos.