■ Estructura Switch
Evaluando una variable tipo entero
int opcion;
switch (opcion) {
case 1:
// Código opcion = 1
break;
case 2:
// Código opcion = 2
break;
case 3:
// Código opcion = 3
break;
case 4:
// Código opcion = 4
break;
case 5:
// Código opcion = 5
break;
default:
// Código si no fue ninguna de las anteriores
break;
}
Evaluando una variable tipo String
String opcion;
switch (opcion) {
case "a":
// Código opcion = "a"
break;
case "b":
// Código opcion = "b"
break;
case "c":
// Código opcion = "c"
break;
default:
// Código si no fue ninguna de las anteriores
break;
}
■ Evaluando varias opciones por caso
En Java cada case puede evaluar varias opciones si las ponemos separadas por coma, ejemplo:
int opcion;
switch (opcion) {
case 1, 2, 3, 4, 5:
// instrucciones
break;
case 6, 7:
// instrucciones
break;
case 8, 9 10:
// instrucciones
break;
}
O bien con strings:
String letra;
switch(letra) {
case "a", "e", "i", "o", "u":
System.out.println("Es vocal");
break;
default:
System.out.println("Es consonante");
break;
}
■ Comparando Switch con if
Si hicieramos el segundo ejemplo usando if, la estructura quedaría así:
Si hicieramos el segundo ejemplo usando if, la estructura quedaría así:
if (op.equals("a")) {
// Código opcion = "a"
} else if (op.equals("b")) {
// Código opcion = "b"
} else if (op.equals("c")) {
// Código opcion = "c"
} else {
// Código si no fue ninguna de las anteriores
}
La elección entre usar switch o if - else dependerá del problema que se quiera resolver, por ejemplo el switch es más eficiente cuando las opciones son valores exactos o constantes (como se muestra en los ejemplos) y el if - else es más adecuado cuando se requiere evaluar expresiones boleanas o rangos de valores, por ejemplo:
boolean usuarioRegistrado, usuarioVIP;
boolean usuarioRegistrado, usuarioVIP;
if (usuarioRegistrado) {
if (usuarioVIP) {
// Ambas son true
} else {
// usuarioVIP es false
}
} else {
// usuarioRegistrado es false
}
No hay comentarios:
Publicar un comentario