Al igual que una instrucción condicional if/else, una instrucción switch te permite cambiar el flujo del programa ejecutando código de forma condicional.
La diferencia es que una instrucción switch solo puede comparar el valor de una expresión primitiva o de tipo string con valores constantes predefinidos.
Algunas palabras clave resultan útiles cuando usas una instrucción switch.
switch: esta palabra clave te permite declarar la estructura del switch.
Va seguida de la expresión o la variable que cambiará el resultado.case: usarás esta palabra clave para declarar las distintas posibilidades del resultado.break: la palabra clave break es muy útil para detener la ejecución del switch al final del flujo deseado.
Si la olvidas, el programa continuará y puede dar lugar a resultados inesperados.default: como su nombre indica, úsala como resultado predeterminado cuando ningún otro caso coincida con el resultado de tu expresión.En su forma más simple, comprueban el valor de una expresión primitiva o de tipo string y toman una decisión basada en él. Por ejemplo:
String direction = getDirection();
switch (direction) {
case "left":
goLeft();
break;
case "right":
goRight();
break;
default:
// otherwise
markTime();
break;
}
Estás desarrollando un sistema para ayudar al personal del sitio web de un club de fútbol a informar sobre los partidos. Los datos se reciben de varias fuentes y se canalizan hacia un único flujo después de limpiarlos.
El equipo solo juega con una formación 4-3-3 y nunca ha estado de acuerdo con el cambio de 1965 en las reglas que permite las sustituciones, ni mucho menos con las plantillas ampliadas.
Las descripciones de los jugadores son las siguientes:
1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"
Implementa el método estático FootballMatchReports.onField() para mostrar una descripción de jugador según su número de camiseta.
FootballMatchReports.onField(10);
// => "striker"
Modifica el método FootballMatchReports.onField() para que devuelva «invalid» cuando se procese un número de camiseta fuera del rango 1-11.
FootballMatchReports.onField(13);
// => "invalid"
Regístrate en Exercism para aprender y dominar Java con 26 conceptos158 ejercicios y mentoría humana real, todo gratis.