🚀 Capítulo 03: O Labirinto de Indiana Jones (Tema: Indiana Jones)

NOTE

Este capítulo utiliza a temática de Indiana Jones para explicar as tomadas de decisão e os loops em Java. Aprenda a controlar o caminho que o seu código vai seguir!


1. 🎯 Objetivo da Aula

Compreender as estruturas de controle de fluxo em Java: as decisões com if e else, e as repetições com os laços for e while.

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

O famoso arqueólogo Indiana Jones está explorando um templo antigo cheio de armadilhas. A cada passo no chão de pedra, ele precisa tomar decisões lógicas rápidas: “Se o piso tiver um desenho de caveira, eu devo pular! Se não, posso andar normalmente.” E para atravessar corredores longos e escuros, ele precisa repetir passos: “Enquanto eu não chegar ao final do corredor, devo continuar andando para frente.”

No Java, nós usamos as estruturas de controle para fazer o computador tomar decisões e repetir tarefas.

  • Nós usamos o if e o else para as decisões.
  • E para as repetições (loops), o Java nos dá duas ferramentas clássicas: o for e o while. Seu desafio é guiar o Indiana Jones com segurança!

🧠 Fundamentos: A Teoria Traduzida

⚖️ 1. Tomando Decisões (if e else):

Em Java, a condição do if deve ficar obrigatoriamente entre parênteses ().

int energia = 10;
 
if (energia > 5) {
    System.out.println("Indiana Jones continua correndo!");
} else {
    System.out.println("Ele está cansado, precisa descansar.");
}

🔄 2. Repetindo Tarefas (Loops):

O for Clássico: Usamos quando sabemos exatamente quantas vezes queremos repetir algo. Ele tem três partes na condição: (Início; Fim; Passo).

// Repete 5 vezes (de 1 até 5)
for (int i = 1; i <= 5; i++) {
    System.out.println("Deu o passo número: " + i);
}

O while (Enquanto): Usamos quando não sabemos quantas vezes vai repetir. Ele repete enquanto a condição for verdadeira.

boolean encontrouSaida = false;
int tentativas = 0;
 
while (!encontrouSaida) {
    tentativas++;
    System.out.println("Procurando saída... tentativa " + tentativas);
    if (tentativas == 3) {
        encontrouSaida = true; // Achou a saída!
    }
}

4. 📖 Exemplo Guiado: Fugindo da Pedra Gigante

Vamos simular o Indiana Jones fugindo daquela famosa pedra redonda gigante usando um loop for:

public class Fuga {
    public static void main(String[] args) {
        
        System.out.println("A pedra gigante começou a rolar!");
        
        // Ele precisa correr 5 metros para escapar
        for (int metro = 1; metro <= 5; metro++) {
            System.out.println("Correu " + metro + " metros...");
        }
        
        System.out.println("Ufa! Conseguiu pular para fora do templo a tempo!");
    }
}

5. 🛠️ Prática Obrigatória 1: O Contador de Passos

  1. Escreva o código de um loop for em Java que conte de até e imprima na tela a frase "Passo X" (onde X é o número atual da contagem).

6. 🛠️ Prática Obrigatória 2: Tomada de Decisão

Imagine que a variável pesoReliquia guarda o peso da estátua de ouro que Indiana Jones quer pegar.

  1. Escreva uma estrutura if / else em Java que verifique: se o peso for maior que , imprima "Muito pesada! Deixe no lugar.". Se não, imprima "Pegue a relíquia e corra!".

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

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 03 Java_Indiana) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.

8. 📂 Estrutura de Pastas

spec_backend_com_java_e_springboot/
├── capitulos/
│   └── capitulo_03_indiana.md

💡 Checkpoint de Lógica

Em Java, o símbolo ++ (como em i++) serve para somar ao valor da variável. É o mesmo que escrever i = i + 1!

10. 🔥 Desafio de Fixação

Pesquise o que faz o comando break dentro de um loop for ou while no Java.

🔑 Gabarito de Código/Fórmulas

Gabarito da Prática 1:

for (int i = 1; i <= 10; i++) {
    System.out.println("Passo " + i);
}

Gabarito da Prática 2:

if (pesoReliquia > 5) {
    System.out.println("Muito pesada! Deixe no lugar.");
} else {
    System.out.println("Pegue a relíquia e corra!");
}

Capitulo Anterior | Proximo Capitulo