Switch Statement
Parte da seção Fundamentos do Journey de Java da Coddy — lição 29 de 73.
A instrução switch é como uma instrução if de múltiplas vias. Em vez de avaliar uma única condição, ela verifica o valor de uma variável contra múltiplos casos e executa o código associado ao caso correspondente.
Aqui está a estrutura básica de uma switch instrução:
switch (variable) {
case value1:
// Código a ser executado se variable for igual a value1
break;
case value2:
// Código a ser executado se variable for igual a value2
break;
// ... mais casos
default:
// Código a ser executado se nenhum caso corresponder
}- A palavra-chave
switché seguida pela variável que você deseja testar entre parênteses. - Cada
caserepresenta um valor possível da variável. - O código dentro de cada
caseé executado se a variável corresponder ao valor daquele case.
- A instrução
breaké crucial; ela sai doswitchapós um caso ser executado. Sem ela, a execução "cairia" para o próximo caso. - O caso
defaulté opcional e é executado se nenhum outro caso corresponder.
Aqui está um exemplo:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... cases for other days
default:
dayName = "Invalid day";
}Você também pode combinar múltiplos casos em um só:
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";
}Desafio
InicianteCrie um programa que recebe um número de mês (1 para Janeiro, 2 para Fevereiro, etc.) e imprime a estação à qual pertence. Use uma instrução switch para a lógica.
As estações e seus meses correspondentes são:
- Winter: Dezembro (12), Janeiro (1), Fevereiro (2)
- Spring: Março (3), Abril (4), Maio (5)
- Summer: Junho (6), Julho (7), Agosto (8)
- Autumn: Setembro (9), Outubro (10), Novembro (11)
Para qualquer outro número de mês, imprima "Invalid month".
Folha de consulta
A instrução switch é uma condicional de múltiplas vias que verifica uma variável contra múltiplos casos:
switch (variable) {
case value1:
// Código a ser executado se variable for igual a value1
break;
case value2:
// Código a ser executado se variable for igual a value2
break;
default:
// Código a ser executado se nenhum caso corresponder
}Componentes principais:
case: representa um valor possível da variávelbreak: sai do switch após um caso ser executado (previne fall-through)default: caso opcional executado se nenhum outro caso corresponder
Você pode combinar múltiplos casos:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}Experimente você mesmo
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 = "";
// Escreva seu código abaixo
System.out.println(season);
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições 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