7.6 Controle de Fluxo: Estrutura Condicional Switch

A estrutura condicional switch é uma das ferramentas fundamentais na programação Java para controlar o fluxo de um programa. É usada quando temos um número limitado de valores discretos que uma variável pode assumir e queremos executar diferentes blocos de código, dependendo do valor dessa variável. O switch proporciona uma forma mais limpa e legível de escrever uma série de instruções if-else-if que compara a mesma variável.

Como Funciona o Switch

O switch funciona como uma espécie de seleção múltipla para o controle de fluxo. Ele avalia o valor de uma variável ou expressão e, em seguida, procura por uma correspondência entre esse valor e uma série de casos definidos pelo programador. Se uma correspondência é encontrada, o bloco de código associado a esse caso é executado. O Java permite o uso de switch com tipos primitivos como int, byte, short, char, e com as classes String, Enum e algumas classes wrapper de tipos primitivos, como Integer e Character.

Sintaxe Básica do Switch

A sintaxe básica do switch é a seguinte:


switch (expressão) {
    case valor1:
        // Bloco de código para valor1
        break;
    case valor2:
        // Bloco de código para valor2
        break;
    // você pode ter qualquer número de casos
    default:
        // Bloco de código padrão (opcional)
}

No exemplo acima, a expressão dentro dos parênteses do switch é avaliada uma única vez, e seu resultado é comparado com os valores especificados nos casos (case). Se uma correspondência é encontrada, o bloco de código associado é executado. O comando break é utilizado para sair do switch após a execução de um bloco de código de um caso. Se o break for omitido, o programa continuará a executar os casos subsequentes até encontrar um break ou até o final do switch. O caso default é opcional e é executado se nenhum dos casos corresponder à expressão avaliada.

Exemplo de Switch em Java


int mes = 4;
String nomeDoMes;
switch (mes) {
    case 1:
        nomeDoMes = "Janeiro";
        break;
    case 2:
        nomeDoMes = "Fevereiro";
        break;
    case 3:
        nomeDoMes = "Março";
        break;
    case 4:
        nomeDoMes = "Abril";
        break;
    case 5:
        nomeDoMes = "Maio";
        break;
    case 6:
        nomeDoMes = "Junho";
        break;
    // ... outros casos ...
    default:
        nomeDoMes = "Mês inválido";
        break;
}
System.out.println("O mês é " + nomeDoMes);

Neste exemplo, a variável mes é avaliada pelo switch, e o caso correspondente ao valor de mes é executado. Uma vez que o valor de mes é 4, o bloco de código correspondente ao caso 4 é executado, e a variável nomeDoMes é definida como "Abril".

Switch sem Break

Embora o uso do break seja o mais comum e recomendado, existem situações em que pode ser útil omiti-lo. Por exemplo, quando vários casos devem executar o mesmo bloco de código, você pode agrupá-los para evitar a repetição de código. No entanto, deve-se ter muito cuidado ao fazer isso para evitar erros lógicos.

Switch com Strings

A partir do Java 7, é possível usar switch com strings. Isso facilita a escrita de código quando estamos lidando com variáveis que armazenam texto. Veja um exemplo:


String nivel = "Expert";
switch (nivel) {
    case "Iniciante":
        System.out.println("Bem-vindo ao nível iniciante!");
        break;
    case "Intermediário":
        System.out.println("Você já tem alguma experiência.");
        break;
    case "Expert":
        System.out.println("Você é um usuário avançado!");
        break;
    default:
        System.out.println("Nível desconhecido!");
        break;
}

No exemplo acima, o switch verifica o conteúdo da variável nivel e executa o bloco de código correspondente ao valor encontrado.

Considerações Finais

A estrutura condicional switch é uma ferramenta valiosa e eficiente para controlar o fluxo de execução em um programa Java. Ela deve ser utilizada quando temos um conjunto claro e limitado de valores que uma variável pode assumir e queremos executar ações diferentes para cada um desses valores. O uso correto do switch pode tornar o código mais limpo, mais legível e mais fácil de manter.

Entretanto, é importante lembrar que o switch não substitui completamente as estruturas condicionais if e else. O switch é mais adequado para situações em que estamos comparando uma única variável com valores específicos, enquanto o if é mais flexível e pode ser usado para avaliar expressões mais complexas e condições múltiplas.

Com a prática e o entendimento adequado de quando e como usar o switch, você pode escrever programas Java mais eficientes e organizados, melhorando a qualidade do seu código e a eficiência do seu processo de desenvolvimento.

Agora responda o exercício sobre o conteúdo:

_Qual das seguintes afirmações sobre a estrutura condicional `switch` em Java é correta?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Controle de fluxo (if, else, switch, loops): Break em switch

Próxima página do Ebook Gratuito:

46Controle de fluxo (if, else, switch, loops): Break em switch

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto