Sentencia Switch
Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 29 de 73.
La instrucción switch es como una instrucción if de múltiples opciones. En lugar de evaluar una sola condición, comprueba el valor de una variable con varios casos y ejecuta el código asociado al caso coincidente.
Esta es la estructura básica de una instrucción switch:
switch (variable) {
case value1:
// Código a ejecutar si variable es igual a value1
break;
case value2:
// Código a ejecutar si variable es igual a value2
break;
// ... más casos
default:
// Código a ejecutar si ningún caso coincide
}- La palabra clave
switchva seguida de la variable que quieres comprobar entre paréntesis. - Cada
caserepresenta un posible valor de la variable. - El código dentro de cada
casese ejecuta si la variable coincide con el valor de esecase.
- La instrucción
breakes crucial; sale deswitchdespués de ejecutar un caso. Sin ella, la ejecución continuaría («fall through») hasta el caso siguiente. - El caso
defaultes opcional y se ejecuta si ningún otro caso coincide.
Aquí tienes un ejemplo:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... casos para otros días
default:
dayName = "Invalid day";
}También puedes combinar varios casos en uno:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... casos para otros días
default:
dayName = "Invalid day";
}Desafío
PrincipianteCrea un programa que reciba un número de mes (1 para enero, 2 para febrero, etc.) e imprima la estación a la que pertenece. Usa una instrucción switch para la lógica.
Las estaciones y sus meses correspondientes son:
Winter: diciembre (12), enero (1), febrero (2)Spring: marzo (3), abril (4), mayo (5)Summer: junio (6), julio (7), agosto (8)Autumn: septiembre (9), octubre (10), noviembre (11)
Para cualquier otro número de mes, imprime "Invalid month".
Pruébalo tú mismo
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Escribe tu código a continuación
System.out.println(season);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloIncremento/decrementoIncremento/decremento posteriorAtajos aritméticosOperadores de comparaciónComparación de cadenas7Entrada y salida básicas
Métodos de System.outFormato de salidaClase ScannerRepaso: hasta 120Repaso: verdadero o falso10Métodos (Funciones)
Declaración de métodosParámetros de métodosTipos de retornoSobrecarga de métodosRepaso: función SigmaRepaso: función de validaciónMétodos void13Operaciones con cadenas
Métodos de cadenas, parte 1Métodos de cadenas, parte 2Formato de cadenasComparación de cadenas5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operadores lógicos, parte 48Aplicación de calculadora
Mensaje de bienvenidaObtención de números3Variables Parte 2
ConstantesConvenciones de nomenclaturaRepaso: inicializar variablesConversión de tipos Parte 1Conversión de tipos Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioRepaso - If ElseIf - Else anidadoPractica por tu cuenta: Compilador de Java online