Olá desenvolvedores, hoje vamos falar sobre a instrução de seleção switch case. O bloco de seleção switch case existe no mesmo contexto das instruções de seleção, if, else, if…else que vimos no post anterior. Aliás, a chamada instrução de seleção múltipla switch foi também discutida em, ESTRUTURAS DE DECISÃO EM JAVA.
As instruções de seleção permitem que o desenvolvedor determine cursos alternativos a serem tomados de acordo com alguma condição definida. Assim sendo, a instrução de decisão switch case constitui um meio de realizar diferentes ações. Tendo como base os valores de uma única expressão constante. Tal instrução compreende uma forma alternativa ao if, else.
É importante salientar que existe uma restrição quanto aos valores que são aceitos pela instrução. Ela somente aceita variáveis do tipo char, byte, short ou int ou ainda uma String.
Na prática a instrução switch case é uma instrução que apresenta diversos desvios possíveis. Isto é, uma condição é declarada entre parênteses, cujo valor literal é comparado com o valor contido no rótulo/cláusula case. A condição declarada deverá ser compatível com pelo menos um dos valores especificados em cada cláusula.
Entretanto, há casos em que o valor contido na variável não encontra seu “par”. Previnindo tal situação uma instrução default deverá ser utilizada, informando ao usuário na tela que nenhum valor equivalente foi encontrado. Igualmente importante é o uso da instrução break que provê um desvio para o final do bloco de execução.
A instrução break serve para evitar que outras instruções continuem sendo testadas mesmo que uma correspondência tenha sido encontrada logo no primeiro caso. Sem esta instrução o algoritmo continuaria sendo executado até que o fim do switch fosse encontrado. Ou seja, continuaria consumindo recurso de processamento sem necessidade.
IMPLEMENTANSO USANDO O SWITCH CASE
IMPORTANTE: A estrutura switch case é usada pra testar valores exatos, literais. O exemplo de notas que temos utilizado, não cabe dentro do contexto do switch.
Como exemplo, vamos criar um algoritmo que recebe um valor do tipo inteiro e verifica a qual dia da semana este valor corresponde. Se não corresponder a nenhum dia da semana ele deverá informar que o valor inserido é inválido.
Uma variável, no caso “dia”, foi declarada e inicializada com o valor zero. Assim, a condição expressa entre parênteses que mencionamos acima é a variável dia. O valor que ela receber deverá corresponder a um dos valores contidos nas cláusulas case. Caso contrário, a “regra” default é chamada.
EM POUCAS PALAVRAS
Programadores avançados, estão obviamente acostumados ao uso de implementações mais complexas da instrução seleção switch case. Onde cada rótulo poderia, por exemplo, chamar uma função e/ou executar uma tarefa. Mas neste momento, nosso bate-papo é com quem está iniciando. Assim sendo, o exemplo dado, embora simples, cumpre bem a função de ilustrar o uso dessa instrução.
Inclusive, saber qual o melhor caminho a tomar neste o naquele momento da construção de uma aplicação é também uma característica dos bons programadores. métodos e funções complexas normalmente estão dentro do if, else, if…else. Ao passo que a instrução switch é destinada a casos mais simples, e que trabalham com valores exatos.