Cursos / Informática para Internet / Programação Estruturada / Aula

arrow_back Aula 04 - Comandos de seleção

3. Comando switch

Na seção anterior, apresentamos o comando if-else encadeados, o qual pode ser utilizado para resolver problemas de seleção. Porém, em alguns casos, o uso de comandos if-else encadeados torna a escrita e compreensão do código mais trabalhosa. Por exemplo, considere um programa que deve receber uma letra do usuário e imprimir uma palavra que comece com a letra digitada. O código a seguir mostra a rotina main considerando, por questões de espaço, apenas as letras de A a E:

Observe que a leitura do caractere é feita através do leitor.nextLine() — leitura de uma String — e que o primeiro caractere dessa String é retornado, usando-se a função charAt(0), a qual será melhor vista em outra aula, mais adiante neste curso.

Pois bem, o comando switch facilita a escrita de trechos de programa em que a seleção deve ser feita entre várias alternativas. O switch é chamado de comando interno de seleção múltipla, ele testa o valor de uma expressão contra uma lista de constantes numéricas ou de caracteres. Veja o mesmo código fazendo uso do comando switch:

A forma geral do comando switch é a seguinte:

O comando switch funciona da seguinte maneira: o valor da expressão é testado, em ordem, contra os valores das constantes especificadas nos comandos case. Quando ocorrer uma condição em que a expressão seja aceita, a sequência de comandos associado ao case em questão será executado até chegar ao comando break (que para a execução da case em questão e salta para a próxima linha de código) ou ao fim do comando switch. O comando default será apenas executado caso nenhum valor seja aceito. Esse comando é opcional. Se ele não existir, nenhuma ação será realizada caso todos os testes falhem.

Veja a seguir algumas observações sobre o comando switch.

  • Os comandos switch e if diferem pois o switch testa igualdade. Já o if testa uma expressão lógica ou relacional.
  • Duas constantes case não podem ter o mesmo valor dentro de um mesmo switch.

Versão 5.3 - Todos os Direitos reservados