Switch.... Case (Escolha...Caso)
A estrutura Switch (também conhecida como "seleção múltipla") é uma estrutura de seleção usada em algumas linguagens de programação, como C, C++ e Java, para testar várias condições diferentes e executar uma ação diferente para cada condição verdadeira. Ela é geralmente usada quando há muitas opções diferentes para testar e não é prático usar uma estrutura if-else if-else para testar todas elas.
A estrutura Switch é escrita da seguinte maneira:
Neste exemplo, a expressão é avaliada primeiro. Se ela for igual a valor1, a ação1 é executada. Se ela for igual a valor2, a ação2 é executada, e assim por diante. Se a expressão não for igual a nenhum dos valores especificados, a ação padrão é executada.
É importante notar que a estrutura switch usa a palavra-chave break para sair da estrutura depois que uma ação é executada. Se break não for usado, o código continuará a executar as ações das próximas opções, mesmo se a expressão não for igual a esses valores.
A estrutura switch pode ser uma opção útil em situações em que há muitas opções diferentes para testar, mas é importante lembrar de que ela pode ser menos legível do que uma estrutura if-else if-else em algumas situações.
Veja um exemplo para selecionar o dia da semana:
Neste exemplo, a variável dia é comparada com cada um dos valores possíveis (de 1 a 7). Se for igual a 1, a mensagem "Segunda-feira" é exibida. Se for igual a 2, a mensagem "Terça-feira" é exibida, e assim por diante. Se a variável dia não for igual a nenhum dos valores especificados, a mensagem "Dia inválido" é exibida.
Este exemplo mostra como a estrutura switch pode ser útil para testar várias opções diferentes e executar uma ação diferente para cada opção verdadeira. É importante lembrar de usar a palavra-chave break para sair da estrutura depois que uma ação é executada, para evitar que o código continue a executar as ações das próximas opções.
Juntando Tudo
Essas estruturas podem ser misturadas entre si da forma que melhor nos atender. Digamos que a média de um aluno deva ser tratada caso a caso se for maior que 5.9, então teríamos algo assim:
Não é preciso verificar caso a caso médias que sejam menores ou iguais a 5.9, pois todas reprovam o aluno; mas, para médias maiores ou iguais a 6.0, há um conceito para cada uma (10 e 9 – A, 8 e 7 – B, etc).