🚀 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
- Abra o VS Code.
- Pressione as teclas
Ctrl + Shift + Ppara abrir a Paleta de Comandos. - Digite
Java: Create Java Projecte pressioneEnter. - Selecione a opção
No build tools. - Escolha uma pasta e digite o nome do projeto:
ki-projetoe pressioneEnter.
📂 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:
- Clique com o botão direito na pasta
srce crie o arquivoRastreadorKi.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
- Abra o arquivo
RastreadorKi.java. - Clique em Run logo acima do método
main. - O terminal exibirá o status baseado no valor da variável
ki.
Resultado Esperado:
Valor de ki | Saída Esperada |
|---|---|
| 9000 | Status 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 ki | Saída Esperada |
|---|---|
| 10000 | Pode se transformar em Super Saiyajin! |
| 5000 | Continue 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 personagem | Saí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:
- Verifique a estrutura: Certifique-se de que sua estrutura de pastas final está idêntica à mostrada abaixo.
- Abra o GitHub Desktop: Certifique-se de que o repositório do seu curso está selecionado no canto superior esquerdo.
- Visualize as alterações: Na aba Changes (à esquerda), você verá todos os arquivos que criou ou modificou nesta aula.
- 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).
- No campo Summary (na parte inferior esquerda), digite uma mensagem curta descrevendo o que fez, ex:
- 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.
- ⚠️ 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.
- 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!
- Copie o link do seu repositório no GitHub (ex:
📂 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");
}
}
}