7.15. Controle de fluxo (if, else, switch, loops): Declaração de casos múltiplos em switch

Página 54

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

558. Arrays e a classe Arrays

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text