♫ in the jungle, the mighty jungle, the lion sleeps tonight ♫
O que é Switch & Case?
Os comandos Switch e Case são utilizados para executar certos conjuntos de código com base em uma expressão lógica, semelhante aos comandos
if
e else
. A diferença é que eles são utilizados apenas para verificar se tal valor é igual a uma ou várias ocorrências.Como utilizar Switch & Case?
A sintaxe de Switch e Case é o seguinte:
Javascript:
switch(variavel) {
case valor1:
// código se corresponde ao valor1
break;
case valor2:
// código se corresponde ao valor2
break;
case valor3:
// código se corresponde ao valor3
break;
//... assim por diante
default:
// código se corresponder a qualquer outro valor
// que não corresponda aos outros cases
break;
}
É definida primeiro a palavra-chave
switch
. Nele é especificado uma variável a ser verificada dentro de parênteses. Depois, o escopo de switch é aberto com chaves {}
, aqui são feitos os case
s onde para cada um deles é especificado um valor que se deseja verificar.Depois de especificado o valor, é utilizado
:
dois pontos e logo abaixo o código que é executado caso o valor do case
da variavel
mencionada antes for correspondido.Logo depois do código, é utilizado o comando break para determinar o término do código do
case
atual e o término da verificação do switch
.Só esses
switch
es e case
s são o suficiente para que as verificações funcionem.Mas perceba que é definido também a palavra-chave
default
no final do switch
depois dos case
s. O default
é como um case
mas neste caso ele só é executado se nenhum dos valores dos case
s anteriores corresponderem ao valor da variavel
. Ele, entretanto, executará os códigos que estão depois dele, seguido de break
.O
default
é opcional, você não precisa declará-lo no final se você quiser. Mas caso você não especifique, qualquer não correspondência dos cases dentro do switch
acabará por não executar nenhum código nele e a execução será passada para o próximo código.E a quantidade de
case
s vai do programador colocar a quantidade que ele quiser.Quando utilizar Switch & Case?
Observe o código de
if
e else
a seguir:
Javascript:
let numeroSemana = 2;
let textoSemana = "";
if (numeroSemana == 0) {
textoSemana = "Domingo";
} else if (numeroSemana == 1) {
textoSemana = "Segunda-feira";
} else if (numeroSemana == 2) {
textoSemana = "Terça-feira";
} else if (numeroSemana == 3) {
textoSemana = "Quarta-feira";
} else if (numeroSemana == 4) {
textoSemana = "Quinta-feira";
} else if (numeroSemana == 5) {
textoSemana = "Sexta-feira";
} else if (numeroSemana == 6) {
textoSemana = "Sábado";
} else {
textoSemana = "Inválido";
}
console.log("O dia da semana é: " + textoSemana);
Perceba que são realizadas diversas verificações sobre uma variável a fim de determinar um resultado para outra e exibi-la logo a seguir.
Agora, veja o mesmo código só que utilizando
switch
e case
a seguir:
Javascript:
let numeroSemana = 2;
let textoSemana = "";
switch(numeroSemana) {
case 0:
textoSemana = "Domingo";
break;
case 1:
textoSemana = "Segunda-feira";
break;
case 2:
textoSemana = "Terça-Feira";
break;
case 3:
textoSemana = "Quarta-Feira";
break;
case 4:
textoSemana = "Quinta-Feira";
break;
case 5:
textoSemana = "Sexta-Feira";
break;
case 6:
textoSemana = "Sábado";
break;
default:
textoSemana = "Inválido";
break;
}
console.log("O dia da semana é: " + textoSemana);
Ambos os códigos funcionam da mesma maneira. Porém, com Switch & Case, a leitura do código para o programador é mais legível e organizado. No entanto, são utilizadas várias linhas de código.
Em Switch & Case, é possível realizar duas ou mais possibilidades para uma execução de código. Veja o exemplo abaixo:
Javascript:
let numero = 3;
switch(numero) {
case 2:
case 4:
case 6:
case 8:
console.log("É par!");
break;
case 1:
case 3:
case 5:
case 7:
case 9:
console.log("É impar");
break;
}
//Saída: "É impar!"
O código acima é semelhante a um conjunto de expressões lógicas ligadas à vários operadores OR. Veja o exemplo de como seria isso utilizando comando
if
e else
:
Javascript:
let numero = 3;
if (numero == 2 || numero == 4 || numero == 6 || numero == 8) {
console.log("É par!");
} else if (numero == 1 || numero == 3 || numero == 5 || numero == 7 || numero == 9) {
console.log("É impar!");
}
// Saída: "É impar"
Mais informações
Última edição: