Estruturas de Controle de Fluxo em Java: if, else e switch Explicados

Por Gaspar Barancelli Junior em 15 de janeiro de 2025

Introdução

As estruturas de controle de fluxo são componentes essenciais de qualquer linguagem de programação, e em Java elas desempenham um papel fundamental na criação de programas que podem tomar decisões. Neste post, vamos explorar as estruturas if, else e switch em Java 21, com exemplos práticos e as últimas atualizações da linguagem.

Estruturas de Controle de Fluxo

As estruturas de controle de fluxo permitem que o código seja executado de forma condicional ou repetitiva, dependendo de certas condições. As principais estruturas condicionalmente avaliadas em Java são:

  • if: Executa um bloco de código se uma condição for verdadeira.

  • else: Fornece um bloco alternativo de código a ser executado se a condição for falsa.

  • switch: Permite selecionar entre várias opções baseadas no valor de uma variável.

Vamos analisar cada uma em detalhes.

if e else

A estrutura if verifica uma condição booleana. Se a condição for avaliada como true, o bloco de código será executado. O else pode ser usado para fornecer uma alternativa caso a condição seja false.

Sintaxe

if (condição) {
    // Código executado se a condição for verdadeira
} else {
    // Código executado se a condição for falsa
}

Exemplo Prático

public class ControleIfElse {
    public static void main(String[] args) {
        int idade = 20;

        if (idade >= 18) {
            System.out.println("Você é maior de idade.");
        } else {
            System.out.println("Você é menor de idade.");
        }
    }
}

Uso com Blocos Adicionais (else if)

O else if permite encadear múltiplas condições:

public class ControleIfElse {
    public static void main(String[] args) {
        int nota = 85;

        if (nota >= 90) {
            System.out.println("Conceito A");
        } else if (nota >= 70) {
            System.out.println("Conceito B");
        } else {
            System.out.println("Conceito C");
        }
    }
}

switch

O switch é usado para substituir múltiplos if-else quando se trata de comparar uma variável com vários valores específicos. No Java 21, a estrutura switch recebeu melhorias significativas, como o suporte a expressões switch e o uso de múltiplas condições em um único caso.

Sintaxe Básica

switch (variavel) {
    case valor1 -> {
        // Código para valor1
    }
    case valor2, valor3 -> {
        // Código para valor2 e valor3
    }
    default -> {
        // Código padrão se nenhum caso corresponder
    }
}

Exemplo com Múltiplos Casos

public class ControleSwitch {
    public static void main(String[] args) {
        int dia = 3;

        String nomeDoDia = switch (dia) {
            case 1 -> "Domingo";
            case 2 -> "Segunda-feira";
            case 3 -> "Terça-feira";
            case 4 -> "Quarta-feira";
            case 5 -> "Quinta-feira";
            case 6 -> "Sexta-feira";
            case 7 -> "Sábado";
            default -> "Dia inválido";
        };

        System.out.println("Hoje é: " + nomeDoDia);
    }
}

Exemplo com Escopo Expandido

No Java 21, o switch pode ser usado para executar blocos completos de código:

public class ControleSwitch {
    public static void main(String[] args) {
        int mes = 12;

        String estacao = switch (mes) {
            case 12, 1, 2 -> {
                yield "Verão";
            }
            case 3, 4, 5 -> {
                yield "Outono";
            }
            case 6, 7, 8 -> {
                yield "Inverno";
            }
            case 9, 10, 11 -> {
                yield "Primavera";
            }
            default -> {
                yield "Mês inválido";
            }
        };

        System.out.println("Estamos na estação: " + estacao);
    }
}

Boas Práticas

  1. Use switch para Melhorar a Legibilidade Se você estiver lidando com múltiplas condições baseadas no valor de uma variável, prefira o switch. Ele é mais claro e menos propenso a erros do que uma longa cadeia de if-else.

  2. Inclua Sempre o Bloco default Um bloco default ajuda a lidar com casos inesperados e evita erros.

  3. Evite Condições Desnecessárias Certifique-se de que suas condições são claras e diretamente relacionadas ao problema que você está resolvendo.

Conclusão

As estruturas de controle de fluxo como if, else e switch são ferramentas indispensáveis para qualquer programador Java. Com as melhorias introduzidas no Java 21, o uso de switch ficou mais poderoso e flexível. Entender como essas estruturas funcionam e aplicar boas práticas ao utilizá-las pode ajudar a criar códigos mais claros, legíveis e eficientes.

Nos próximos posts da série "Aprendendo Java do Zero: Guia Completo para Iniciantes", exploraremos outras estruturas, como loops e exceções. Até lá, bons estudos!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×