7.6. Controle de fluxo (if, else, switch, loops): Estrutura condicional switch

Página 45

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.

Now answer the exercise about the content:

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

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

You missed! Try again.

Next page of the Free Ebook:

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

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