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 alternativas. En lugar de evaluar una sola condición, comprueba el valor de una variable con respecto a múltiples casos y ejecuta el código asociado con el caso coincidente.
Aquí está la estructura básica de una declaració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
}- El keyword
switchestá seguido por la variable que deseas probar entre paréntesis. - Cada
caserepresenta un valor posible de lavariable. - El código dentro de cada
casese ejecuta si lavariablecoincide con el valor de esecase.
- La sentencia
breakes fundamental; sale delswitchdespués de que se ejecuta un caso. Sin ella, la ejecución continuaría ("fall through") hacia el siguiente caso. - El caso
defaultes opcional y se ejecuta si ningún otro casomatches.
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 múltiples 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 tome un número de mes (1 para enero, 2 para febrero, etc.) e imprima la estación a la que pertenece. Utiliza 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".
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 debajo
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 - ElsePractica por tu cuenta: Compilador de Java online