Contenido del Curso
Principios Básicos de Java
Principios Básicos de Java
Sentencia Switch-Case
Handling Multiple Different Conditions
When we have many conditions to check, using multiple if-else
chains may not be convenient.
For example:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the 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); } } }
Manejo de Múltiples Condiciones Diferentes
Cuando tenemos muchas condiciones que comprobar, usar múltiples cadenas if-else
puede no ser conveniente.
Por ejemplo:
Main
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:
The Keyword "break;"
We use this keyword to terminate the execution of a switch-case
statement and exit its body. This word is often used in loops, which we will discuss in the following chapters. Use this keyword when you need to break out of a code block and stop its execution.
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.
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the 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"); } } }
Ahora vamos a mejorar el código que escribimos anteriormente utilizando la sentencia switch-case:
Let's look at the switch-case block scheme:
Veamos el esquema de bloques switch-case:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the 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"); } } }
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;
:
1. What will be output to the console?
2. Why do we need the break
keyword?
¡Gracias por tus comentarios!