Tal como uma instrução if/else, uma instrução switch permite-te alterar o fluxo do programa ao executar código de forma condicional.
A diferença é que uma instrução switch só pode comparar o valor de uma expressão primitiva ou de uma string com valores constantes predefinidos.
Há algumas palavras-chave úteis quando usas uma instrução switch.
switch: esta palavra-chave permite-te declarar a estrutura do switch.
É seguida da expressão ou da variável que vai alterar o resultado.case: vais usar esta palavra-chave para declarar as diferentes possibilidades para o resultado.break: a palavra-chave break é muito útil para parar a execução do switch no fim do fluxo pretendido.
Se te esqueceres dela, o programa continua e pode dar origem a resultados inesperados.default: como o nome indica, usa-a como resultado predefinido quando nenhum dos outros casos corresponde ao resultado da tua expressão.Na sua forma mais simples, testam uma expressão primitiva ou uma string e tomam uma decisão com base no valor dela. Por exemplo:
String direction = getDirection();
switch (direction) {
case "left":
goLeft();
break;
case "right":
goRight();
break;
default:
// otherwise
markTime();
break;
}
Estás a desenvolver um sistema para ajudar a equipa do site de um clube de futebol a fazer relatórios dos jogos. Os dados são recebidos de várias fontes e canalizados para um único fluxo depois de serem limpos.
A equipa joga sempre em 4-3-3 e nunca aceitou a alteração de 1965 às regras que permite substituições, quanto mais plantéis alargados.
As descrições dos jogadores são as seguintes:
1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"
Implementa o método estático FootballMatchReports.onField() para devolver a descrição de um jogador com base no número da camisola.
FootballMatchReports.onField(10);
// => "striker"
Modifica o método FootballMatchReports.onField() para devolver 'invalid' quando é processado um número de camisola fora do intervalo 1-11.
FootballMatchReports.onField(13);
// => "invalid"
Inscreve-te no Exercism para aprenderes e dominares Java com 26 conceitos158 exercícios, e mentoria humana real, tudo grátis.