Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Sentencia Switch-Case | Tipos Básicos, Operaciones
Principios Básicos de Java
course content

Contenido del Curso

Principios Básicos de Java

Principios Básicos de Java

1. Iniciando
2. Tipos Básicos, Operaciones
3. Loops
4. Arrays
5. String

bookSentencia Switch-Case

Manejo de Múltiples Condiciones Diferentes

Cuando tenemos muchas condiciones que comprobar, usar múltiples cadenas if-else puede no ser conveniente.

Por ejemplo:

java

Main

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the if statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }

Podemos ver que esto no parece limpio y profesional. Para estos casos, Java proporciona la sentencia switch-case.

Switch - Sentencia Case

La sentencia switch-case consta de varias partes:

java

Main

copy
12345678
switch(expresion) { case value_1: //code to be executed break; //optional case value_2: //code to be executed break; //optional ............. default: //code to be executed if all cases are not matched }

En el código anterior, puedes ver que usamos bloques switch para ejecutar operaciones selectivamente. Nos basamos en la expresión, que es ligeramente diferente de una condición. En ella, insertamos un valor o una expresión. Por ejemplo, 10 / 2. En este caso, el bloque case con la firma case 5 se ejecutará porque la expresión anterior es igual a 5.

También podemos utilizar una condición aquí. En ese caso, necesitamos escribir una expresión booleana en el bloque expression, y debería ser algo como esto 10 / 2 == 5. A continuación, escriba dos casos a continuación:

Pero esta estructura será casi indistinguible de un if-else normal.

La Keyword "break;"

Utilizamos esta keyword para terminar la ejecución de una sentencia switch-case y salir de su cuerpo. Esta palabra se usa a menudo en loops, que discutiremos en los siguientes capítulos. Utilice esta keyword cuando necesite salir de un bloque de código y detener su ejecución.

Ahora vamos a mejorar el código que escribimos anteriormente utilizando la sentencia switch-case:

java

Main

copy
123456789101112131415161718192021222324
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the switch statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("there is no matching value"); } } }

Podemos ver cómo el código se ha vuelto mucho más limpio y fácil de leer y ampliar. No tenemos que escribir otra sentencia if desde cero si necesitamos añadir condiciones adicionales. En su lugar, podemos añadir otro bloque case a nuestra sentencia switch-case.

Veamos el esquema de bloques switch-case:

Como vemos, puede haber tantos casos como queramos. Cada caso requiere su propia condición y código, que se ejecutará cuando nuestro programa entre en el bloque case. Es recomendable utilizar la palabra clave break; porque el programa no saldrá del bloque switch hasta que se hayan ejecutado todos los bloques case. El bloque por defecto se ejecutará si no entramos en ninguno de nuestros bloques case o no usamos la keyword break;.

Veamos otro ejemplo sin las keywords break;:

java

Main

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the switch statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("there is no matching value"); } } }

Hemos recibido múltiples valores, que difieren de lo que esperábamos. Además, hemos obtenido información de los bloques case 10 y default. Esta es precisamente la razón por la que utilizamos la keyword break después de cada bloque. De esta forma, el programa saldrá de la sentencia switch y continuará su ejecución.

1. ¿Qué se mostrará en la consola?
2. ¿Por qué necesitamos la keyword ``break``?
¿Qué se mostrará en la consola?

¿Qué se mostrará en la consola?

Selecciona la respuesta correcta

¿Por qué necesitamos la keyword ``break``?

¿Por qué necesitamos la keyword break?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6
some-alt