O controle de fluxo em qualquer linguagem de programação é essencial para a criação de programas que possam tomar decisões e executar diferentes blocos de código com base em condições específicas. Java, sendo uma linguagem de programação robusta e amplamente utilizada, oferece várias construções para controle de fluxo, incluindo if, else, switch e loops como for, while e do-while. Neste texto, vamos nos concentrar especificamente na declaração switch e como você pode usar casos múltiplos para controlar o fluxo do seu programa.

A declaração switch é uma estrutura de controle de fluxo que permite que você execute diferentes partes do código com base no valor de uma variável. É uma alternativa ao uso de múltiplas instruções if-else-if, proporcionando um código mais limpo e legível, especialmente quando se lida com muitas condições.

Declaração Básica do switch

No Java, a sintaxe básica de uma declaração switch é a seguinte:


switch (variavel) {
    case valor1:
        // Bloco de código para valor1
        break;
    case valor2:
        // Bloco de código para valor2
        break;
    // ...
    default:
        // Bloco de código padrão
}

A variável utilizada na declaração switch pode ser do tipo byte, short, char, int, String, ou enum. Quando o valor da variável corresponde a um dos valores especificados nos casos (case), o bloco de código associado é executado. A palavra-chave break é usada para sair da declaração switch após a execução do bloco de código de um caso específico. Se nenhum dos casos corresponder, o bloco de código sob default é executado.

Declaração de Casos Múltiplos em switch

Em certas situações, você pode querer que múltiplos casos executem o mesmo bloco de código. Isso pode ser alcançado alinhando casos sem um bloco de código ou uma declaração break entre eles. Vejamos um exemplo:


switch (diaDaSemana) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("Dia útil");
        break;
    case 6:
    case 7:
        System.out.println("Fim de semana");
        break;
    default:
        System.out.println("Dia inválido");
}

Neste exemplo, se diaDaSemana for qualquer valor de 1 a 5, o programa imprimirá "Dia útil". Se for 6 ou 7, imprimirá "Fim de semana". Se for qualquer outro valor, imprimirá "Dia inválido". Ao omitir a declaração break entre os casos de 1 a 5, garantimos que todos eles executem o mesmo bloco de código.

Considerações Importantes

Existem algumas considerações importantes ao usar a declaração switch em Java:

  • Breaks: Sempre use a palavra-chave break para evitar a "queda" para o próximo caso. Esquecer de incluir um break é um erro comum que pode levar a um comportamento inesperado.
  • Default: Embora não seja obrigatório, é uma boa prática incluir uma cláusula default para lidar com qualquer valor que não corresponda a nenhum dos casos especificados.
  • Constantes: Os valores dos casos devem ser constantes ou literais. Variáveis não são permitidas.
  • Tipos de Dados: A variável usada na expressão switch deve ser compatível com os tipos permitidos.

Java SE 12 e a Expressão switch

Com o Java SE 12 e versões posteriores, a expressão switch foi aprimorada para suportar uma sintaxe mais flexível e poderosa. Isso inclui o uso de yield para retornar valores de um switch e a capacidade de usar o switch como uma expressão em si. Aqui está um exemplo de como você pode usar o switch em uma expressão:


String tipoDeDia = switch (diaDaSemana) {
    case 1, 2, 3, 4, 5 -> "Dia útil";
    case 6, 7 -> "Fim de semana";
    default -> "Dia inválido";
};
System.out.println(tipoDeDia);

Neste exemplo, a expressão switch é usada para atribuir um valor à variável tipoDeDia com base no valor de diaDaSemana. A sintaxe de seta (->) elimina a necessidade de break e permite uma expressão direta do resultado para cada caso.

Conclusão

A declaração switch é uma ferramenta poderosa para controlar o fluxo do seu programa em Java. Usar casos múltiplos para executar o mesmo bloco de código pode tornar seu código mais conciso e fácil de entender. Com as atualizações recentes na linguagem Java, a expressão switch se tornou ainda mais flexível e expressiva. Ao dominar o uso de switch e outras construções de controle de fluxo, você estará bem equipado para escrever programas Java eficientes e sofisticados.

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

_Qual das seguintes afirmações sobre a declaração `switch` em Java está correta?

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

Você errou! Tente novamente.

Imagem do artigo Arrays e a classe Arrays

Próxima página do Ebook Gratuito:

55Arrays e a classe Arrays

5 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