Estrutura Switch
Parte da seção Fundamentos do Journey de C# da Coddy — lição 27 de 69.
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 em relação a múltiplos casos e executa o código associado ao caso correspondente.
Aqui está a estrutura básica de uma instrução switch:
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
break;
}- 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 desse caso.
- A instrução
breaké crucial; ela sai doswitchapós a execução de um case. Sem ela, a execução iria "cair" para o próximo case.
- 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;
// ... casos para outros dias
default:
dayName = "Invalid day";
break;
}Você também pode combinar vários 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";
break;
}Desafio
InicianteCrie um programa que receba o número de um mês (1 para Janeiro, 2 para Fevereiro, etc.) e imprima a estação a que ele 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)
Folha de consulta
A instrução switch é uma condicional de múltiplas vias que verifica uma variável em relação a vários 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
break;
}Componentes principais:
case: representa um valor possível para correspondênciabreak: sai do switch após a execução de um caso (evita o "fall-through")default: caso opcional executado quando nenhum outro caso corresponde
Você pode combinar vários casos:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
break;
}Experimente você mesmo
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Escreva seu código abaixo
Console.WriteLine(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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos Aritméticos7IO Básico
Saída BásicaInterpolação de StringsLeitura de EntradaParseRevisão - Até 120Revisão - True ou False5Operadores Parte 2
Operadores de ComparaçãoOperadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
VarConstantesConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting6Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador TernárioRevisão - If ElseIf - Else Aninhado