Switch Statement
Parte de la sección Fundamentos del Journey de Java de Coddy — lección 29 de 73.
La sentencia switch es como una sentencia if de múltiples vías. En lugar de evaluar una sola condición, comprueba el valor de una variable contra múltiples casos y ejecuta el código asociado con el caso coincidente.
Aquí está la estructura básica de una sentencia switch:
switch (variable) {
case value1:
// Código para ejecutar si la variable es igual a value1
break;
case value2:
// Código para ejecutar si la variable es igual a value2
break;
// ... más casos
default:
// Código para ejecutar si no coincide ningún caso
}- La palabra clave
switchva seguida de la variable que deseas probar 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 ese caso.
- La sentencia
breakes crucial; sale delswitchdespués de que se ejecuta un caso. Sin ella, la ejecución «caería» al siguiente caso. - El caso
defaultes opcional y se ejecuta si ningún otro caso coincide.
Aquí hay 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 múltiples casos en uno:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cases for other days
default:
dayName = "Invalid day";
}Desafío
PrincipianteCrea un programa que tome un número de mes (1 para enero, 2 para febrero, etc.) e imprima la estación a la que pertenece. Usa una sentencia 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".
Hoja de referencia
La sentencia switch es una condicional de múltiples vías que verifica una variable contra múltiples casos:
switch (variable) {
case value1:
// Code to execute if variable equals value1
break;
case value2:
// Code to execute if variable equals value2
break;
default:
// Code to execute if no case matches
}Componentes clave:
case: representa un posible valor de la variablebreak: sale del switch después de que se ejecuta un caso (previene el fall-through)default: caso opcional que se ejecuta si ningún otro caso coincide
Puedes combinar múltiples casos:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}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 = "";
// Write your code below
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
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else