Estruturas de Decisão - Switch/Case
A estrutura de decisão switch/case não é tão diferente da if/else. Seu papel, na verdade, é o mesmo, porém com sintaxe diferente. Além disso ela é mais indicada para quando se tem muitas opções a serem analisadas. Para evitar que se fique criando enormes estruturas com if/else, pode-se fazer uso dela.
Vamos imaginar que uma variável receba automaticamente o dia da semana do sistema e deva exibir uma mensagem informando o usuário desse dia, de forma mais extensa. Chamarei essa variável de diaSemana. Vejamos como ficaria isso se o fizéssmos com if/else:
Vejam que o código fica bastante poluído visualmente, mas claro que funciona corretamente, conforme a imagem abaixo nos mostra:
Notem que eu atribuí o valor “Domingo” para a variável diaSemana e depois fiz com que o if/else percorresse todo o código, até encontrar a opção que o localizava. Na verdade ele se enquadrou no bloco do else isolado, pois todos os outros testes falharam. O raciocínio foi simples: se todos os outros dias da semana retornarem falso para o teste, só restou o domingo como opção.
Agora vejam como poderíamos fazer isso com o swith/case, gerando um código muito mais fácil de ser interpretado:
O código ficou muito mais limpo. Vou comentá-lo abaixo para explicar o funcionamento do switch/case:
Como vocês puderam ver, tanto o if/else quanto o switch/case, são estruturas com a mesma função, que é a de tomar decisões ao longo da execução do código. Eu diria que o if/else deve ser usado em ocasiões onde se tenha poucos testes a serem feitos, enquanto o switch/case é mais adequado para situações em que se tenha uma quantidade maior de testes a serem realizados.
É isso!