JAVA Learning

Hub de Conteúdo

IF, ELSE IF e ELSE em Java

Guia completo para dominar estruturas condicionais em Java do jeito mais simples possível

1. O Básico: Entendendo as Condicionais

No mundo da programação, as estruturas condicionais são como a capacidade de tomar decisões no dia a dia. Imagine que você acorda e pensa: "Se estiver sol, vou à praia. Senão, se estiver nublado, vou ao parque. Caso contrário (se chover), vou ficar em casa."

Em Java, e em outras linguagens, as estruturas if, else if e else permitem que seu programa siga diferentes caminhos lógicos dependendo de certas condições serem verdadeiras ou falsas. Elas são fundamentais para criar programas que reagem a entradas do usuário, condições do sistema ou valores de variáveis, tornando-os dinâmicos e inteligentes.

Dominar as condicionais é um passo crucial para qualquer desenvolvedor, pois elas são a espinha dorsal da lógica de negócios em quase todo software que você encontrará.

2. IF, ELSE IF e ELSE: As Ferramentas da Decisão

2.1. O que é if?

O if (se) é a estrutura condicional mais básica. Ele testa uma única condição. Se a condição for verdadeira, o bloco de código dentro do if é executado. Se for falsa, o bloco é ignorado, e o programa continua sua execução a partir da linha seguinte ao if (ou else, se houver).

Sintaxe do if:
java
if (condicao) {
    // Código a ser executado SOMENTE se a condicao for verdadeira
}
// O programa continua aqui, independentemente da condicao

2.2. O que é else?

O else (senão) atua como uma "alternativa" ao if. Ele sempre vem junto com um if. Se a condição do if for falsa, o bloco de código dentro do else é executado. A lógica é simples: "Se isso for verdade, faça A. Senão, faça B."

Sintaxe do if-else:
java
if (condicao) {
    // Código para quando a condicao for verdadeira
} else {
    // Código para quando a condicao for falsa (a alternativa)
}

2.3. O que é else if?

O else if (senão se) é usado para testar múltiplas condições em sequência. Ele sempre vem depois de um if (ou outro else if). Se a condição do if inicial for falsa, o programa passa para o primeiro else if e testa sua condição. Se for verdadeira, executa seu bloco e pula o restante. Se for falsa, vai para o próximo else if (se houver), e assim por diante.

Sintaxe do if-else if-else:
java
if (primeiraCondicao) {
    // Executa se a primeira condição for verdadeira
} else if (segundaCondicao) {
    // Executa se a primeira for falsa E a segunda for verdadeira
} else if (terceiraCondicao) {
    // Executa se a primeira e segunda forem falsas E a terceira for verdadeira
} else {
    // Executa se TODAS as condições anteriores forem falsas (opcional)
}
Comparação: O if é para uma decisão única. O if-else oferece dois caminhos. O if-else if-else permite múltiplos caminhos, testando um após o outro até encontrar uma condição verdadeira ou cair no else final.

3. Regras de Ouro das Condicionais em Java

3.1. Estrutura dos Blocos com Chaves { }

Em Java, os blocos de código associados a um if, else if ou else são delimitados por chaves { }. Embora seja possível omitir as chaves para um único comando, é uma má prática e altamente desencorajado.

Sempre use chaves { }: Isso melhora a legibilidade do código, evita erros quando você ou outro programador adicionar mais linhas de código no futuro e define claramente o escopo do bloco.

3.2. Comparando Valores: == vs .equals()

Esta é uma das maiores fontes de erro para iniciantes em Java e crucial para entender.

  • == (Operador de Comparação): Para tipos primitivos (int, double, boolean, char), ele compara os valores. Para objetos (como String), ele compara as referências de memória.
  • .equals() (Método de Objeto): É um método disponível para todos os objetos (incluindo String) que compara o conteúdo dos objetos.

A regra é: Sempre use .equals() para comparar o conteúdo de objetos, especialmente Strings.

3.3. Valores Aceitos nas Condições

A expressão dentro dos parênteses de um if ou else if deve sempre resultar em um valor booleano (true ou false).

  • Variáveis booleanas: if (estaLogado)
  • Operadores relacionais: (<, >, <=, >=, ==, !=) para comparar números
  • Chamadas de método que retornam booleanos: if (minhaString.isEmpty())
  • Operadores lógicos: (&&, ||, !) para combinar múltiplas condições

3.4. A Importância da Ordem das Condições

Em uma cadeia de if-else if-else, as condições são avaliadas na ordem em que aparecem. A primeira condição que for verdadeira terá seu bloco executado, e as demais serão ignoradas.

Cuidado com a ordem: Coloque as condições mais específicas (ou restritivas) primeiro e as mais gerais por último.

4. Exemplos Práticos

Exemplo 1: Condição Simples com if

java
public class ExemploIf {
    public static void main(String[] args) {
        int temperatura = 25;

        if (temperatura > 20) {
            System.out.println("Está calor hoje!");
        }
        System.out.println("Fim do programa.");
    }
}

Exemplo 2: Uso de if e else

java
public class ExemploIfElse {
    public static void main(String[] args) {
        boolean temCafe = false;

        if (temCafe) {
            System.out.println("Que bom, vou tomar café!");
        } else {
            System.out.println("Preciso fazer mais café.");
        }
    }
}

Exemplo 3: Sistema de Notas Completo

java
import java.util.Scanner;

public class ExemploNotas {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Digite a nota do aluno (0-100): ");
        int nota = scanner.nextInt();

        if (nota >= 90) {
            System.out.println("Excelente! Conceito A.");
        } else if (nota >= 70) {
            System.out.println("Muito bom! Conceito B.");
        } else if (nota >= 50) {
            System.out.println("Aprovado! Conceito C.");
        } else {
            System.out.println("Reprovado. Precisa estudar mais.");
        }
        
        scanner.close();
    }
}

Exemplo 4: Comparação de Strings

java
String senhaCorreta = "senai123";
String senhaDigitada = "senai123";

if (senhaDigitada.equals(senhaCorreta)) {
    System.out.println("Senha correta! Acesso permitido.");
} else {
    System.out.println("Senha incorreta! Acesso negado.");
}

Exemplo 5: Verificar Idade para Votar

java
import java.util.Scanner;

public class Eleitor {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.print("Digite sua idade: ");
        int idade = input.nextInt();

        if (idade < 16) {
            System.out.println("Você ainda não pode votar.");
        } else if (idade >= 18 && idade <= 70) {
            System.out.println("Seu voto é obrigatório!");
        } else {
            System.out.println("Seu voto é facultativo.");
        }

        input.close();
    }
}

5. Exercícios Práticos

Exercício 1: Par ou Ímpar

Crie um programa que peça um número inteiro ao usuário e diga se ele é par ou ímpar usando if e else.

Exercício 2: Dia da Semana

Escreva um programa que peça um número de 1 a 7 e imprima o dia da semana correspondente. Use if-else if-else.

Exercício 3: Login Simples

Crie um programa que peça um nome de usuário e uma senha. Se o usuário for "aluno" e a senha for "senai123", imprima "Login bem-sucedido". Use .equals() para as Strings.

6. Resumo Visual

Fluxo de Decisão:

if (condição1) → else if (condição2) → else if (condição3) → else

• Testa a primeira condição

• Se false, testa a próxima

• Executa apenas um bloco

• else final é opcional

Uso no Mundo Real:

• Validação de dados (usuário, senha)

• Cálculo de taxas ou descontos

• Controle de acesso

• Processamento de formulários

• Tratamento de erros

• Classificação de dados

Conclusão

Parabéns por chegar até aqui! Dominar as estruturas condicionais (if, else if, else) é essencial para qualquer programador Java. Elas são a base para criar programas que tomam decisões e reagem a diferentes situações.

Continue praticando e você logo estará usando condicionais naturalmente em seus projetos!