🚀 Capítulo 03: Estrutura Condicional

🎯 Objetivo da Aula

Ao final desta aula, você será capaz de utilizar as estruturas condicionais (if, else) e de seleção múltipla (switch) em Java para criar regras de decisão, aplicando-as em cenários do universo Geek (Animes, Games e Quadrinhos).


🏢 O Cenário Prático (Seu Desafio)

Você foi contratado pela Corporação Cápsula para desenvolver o software do novo rastreador de poder dos guerreiros. O seu desafio é criar um sistema que analise o nível de Ki de um guerreiro para determinar sua classe e outro sistema que identifique a arma ou habilidade característica de personagens famosos da cultura pop.


🧠 Fundamentos: A Teoria Traduzida

Na programação, a Estrutura Condicional permite que o programa tome caminhos diferentes dependendo de uma condição ser verdadeira ou falsa. Analogia: É como o Chapéu Seletor de Hogwarts. Ele analisa suas características e decide: “Se for corajoso, vai para a Grifinória. Senão, vai para a Sonserina.”

Em Java, usamos o if para condições lógicas e o switch para comparar uma variável com valores específicos.

Fluxo de Decisão (Poder de Luta)

flowchart TD
    A["Início"] --> B{"Ki > 8000?"}
    B -- Sim --> C["Exibir 'Mais de 8000!'"]
    B -- Não --> D["Exibir 'Poder normal.'"]
    C --> E["Fim"]
    D --> E

📖 Exemplo Guiado

Vamos ver como aplicar condições para classificar o poder de luta de um guerreiro (famoso meme de Dragon Ball).

🛠️ Passo a Passo para Criar o Projeto no VS Code

  1. Abra o VS Code.
  2. Pressione as teclas Ctrl + Shift + P para abrir a Paleta de Comandos.
  3. Digite Java: Create Java Project e pressione Enter.
  4. Selecione a opção No build tools.
  5. Escolha uma pasta e digite o nome do projeto: ki-projeto e pressione Enter.

📂 Estrutura Inicial de Pastas

ki-projeto/
├── lib/
└── src/
    └── App.java (pode apagar este arquivo)

Siga os passos para criar o novo arquivo dentro da pasta src:

  1. Clique com o botão direito na pasta src e crie o arquivo RastreadorKi.java:
public class RastreadorKi {
    public static void main(String[] args) {
        int ki = 9000;
        String classe;
 
        // Famoso meme do Dragon Ball
        if (ki > 8000) {
            classe = "Guerreiro Z (Mais de 8000!)";
        } else if (ki >= 5000) {
            classe = "Guerreiro de Elite";
        } else {
            classe = "Guerreiro de Classe Baixa";
        }
 
        System.out.println("Status do Guerreiro: " + classe);
    }
}

🕹️ Como Executar e Testar no VS Code

  1. Abra o arquivo RastreadorKi.java.
  2. Clique em Run logo acima do método main.
  3. O terminal exibirá o status baseado no valor da variável ki.

Resultado Esperado:

Valor de kiSaída Esperada
9000Status do Guerreiro: Guerreiro Z (Mais de 8000!)


🛠️ Prática Obrigatória 1

Crie um programa chamado TesteSaiyajin.java. Crie uma variável ki = 10000. Use um if para verificar:

  • Se o Ki for maior ou igual a 10000: Mostre “Pode se transformar em Super Saiyajin!“.
  • Senão: Mostre “Continue treinando na sala do tempo!“.

Resultado Esperado:

Valor de kiSaída Esperada
10000Pode se transformar em Super Saiyajin!
5000Continue treinando na sala do tempo!

🛠️ Prática Obrigatória 2

Crie um programa chamado ArmasGeek.java. Crie uma variável personagem do tipo String. Use um switch para exibir a arma ou habilidade de cada um:

  • “Goku” Kamehameha
  • “Naruto” Rasengan
  • “Thor” Mjolnir
  • “Batman” Batarang
  • Qualquer outro Habilidade desconhecida

Resultado Esperado:

Valor de personagemSaída Esperada
”Goku”Kamehameha
”Iron Man”Habilidade desconhecida

📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

Neste curso, você entregará suas atividades enviando o código para o seu repositório no GitHub usando o aplicativo GitHub Desktop. Siga o passo a passo detalhado:

  1. Verifique a estrutura: Certifique-se de que sua estrutura de pastas final está idêntica à mostrada abaixo.
  2. Abra o GitHub Desktop: Certifique-se de que o repositório do seu curso está selecionado no canto superior esquerdo.
  3. Visualize as alterações: Na aba Changes (à esquerda), você verá todos os arquivos que criou ou modificou nesta aula.
  4. Faça o Commit:
    • No campo Summary (na parte inferior esquerda), digite uma mensagem curta descrevendo o que fez, ex: Finaliza atividades do Capítulo 03.
    • Clique no botão azul Commit to main (ou o nome da sua branch).
  5. Envie para a Nuvem (Push): No topo da tela, clique no botão Push origin. Isso enviará seu código do seu computador para o seu perfil no GitHub.
  6. ⚠️ IMPORTANTE (Repositório Público): Para que o professor consiga corrigir, o seu repositório no GitHub DEVE SER PÚBLICO. Repositórios privados não podem ser visualizados por quem não foi convidado.
  7. Como entregar no Microsoft Teams:
    • Copie o link do seu repositório no GitHub (ex: https://github.com/seu-usuario/seu-repositorio).
    • Abra a tarefa correspondente no Microsoft Teams.
    • Clique no botão Adicionar trabalho (ou Add work).
    • Selecione a opção Link no menu lateral.
    • Cole o link do GitHub no campo “Endereço Web” e digite um texto (ex: Meu Repositório) no campo “Texto a ser exibido”.
    • Clique em Anexar.
    • MUITO IMPORTANTE: Clique no botão Entregar (ou Turn in) no canto superior direito para concluir o envio!

📂 Estrutura Final de Pastas

Após concluir o exemplo e as práticas, sua estrutura de pastas deve ficar assim:

ki-projeto/
├── lib/
└── src/
    ├── RastreadorKi.java
    ├── TesteSaiyajin.java
    └── ArmasGeek.java

💡 Checkpoint de Lógica

O que você acabou de fazer são as regras de estado e comportamento que dão vida aos jogos e sistemas. Se você estivesse programando um jogo de luta como Dragon Ball FighterZ ou Naruto Storm, usaria exatamente essa mesma lógica para disparar os golpes especiais!


🔥 Desafio de Fixação (Opcional)

Tente expandir o switch da Prática 2 para que ele também aceite o “Capitão América” usando o “Mjolnir” (comprovando que ele é digno!). Pesquise como agrupar múltiplos cases no switch do Java.


🔑 Gabarito de Código/Fórmulas

Prática 1:

public class TesteSaiyajin {
    public static void main(String[] args) {
        int ki = 10000;
        
        if (ki >= 10000) {
            System.out.println("Pode se transformar em Super Saiyajin!");
        } else {
            System.out.println("Continue treinando na sala do tempo!");
        }
    }
}

Prática 2:

public class ArmasGeek {
    public static void main(String[] args) {
        String personagem = "Naruto";
        
        switch (personagem) {
            case "Goku":
                System.out.println("Habilidade: Kamehameha");
                break;
            case "Naruto":
                System.out.println("Habilidade: Rasengan");
                break;
            case "Thor":
                System.out.println("Arma: Mjolnir");
                break;
            case "Batman":
                System.out.println("Arma: Batarang");
                break;
            default:
                System.out.println("Habilidade desconhecida");
        }
    }
}

Desafio:

public class DesafioCap03 {
    public static void main(String[] args) {
        String personagem = "Capitão América";
        
        switch (personagem) {
            case "Goku":
                System.out.println("Habilidade: Kamehameha");
                break;
            case "Naruto":
                System.out.println("Habilidade: Rasengan");
                break;
            case "Thor":
            case "Capitão América": // Agrupando cases
                System.out.println("Arma: Mjolnir (É digno!)");
                break;
            case "Batman":
                System.out.println("Arma: Batarang");
                break;
            default:
                System.out.println("Habilidade desconhecida");
        }
    }
}

Capitulo Anterior | Proximo Capitulo