🧩 Exercícios - Cap 03: O Mundo dos Apps e a Lógica Básica
🎯 Antes de começar
No Cap 03 você criou sua primeira “Ficha de Personagem” no Kotlin Playground, usando val (imutável) e var (mutável) com os tipos String, Int, Double e Boolean. Depois de completar as Práticas Obrigatórias 1-3, faça o exercício extra abaixo para ver na prática a diferença entre val e var.
💪 Exercício Extra 1: Gaveta Trancada — Testando val vs var (15 min)
Objetivo: Provocar de propósito o erro de compilação do val e entender por que ele existe.
Passos:
- No Kotlin Playground, crie
val nomeHeroi: String = "Link". - Na linha seguinte, tente reatribuir:
nomeHeroi = "Zelda". - Clique em Run e leia a mensagem de erro do compilador.
- Corrija trocando
valparavarna declaração denomeHeroie rode novamente — agora deve funcionar. - Em seguida, crie
var pontosDeVida: Int = 100, na linha seguinte mude parapontosDeVida = 80, e useprintln("Vida: $pontosDeVida")para mostrar o resultado.
✅ Resultado Esperado
- Com
val, o Playground mostra um erro de compilação (algo comoVal cannot be reassigned) — e o código não roda. - Depois de trocar para
var, o código roda sem erros. - A saída final mostra
Vida: 80.
🆘 Resolução de Problemas Comuns
| Erro | Causa | Solução |
|---|---|---|
Val cannot be reassigned |
Esse erro é esperado no passo 3 — val não pode ser reatribuído depois de criado |
Troque val por var na declaração para permitir a mudança |
O println mostra $pontosDeVida em vez do número |
Faltou o $ antes do nome da variável, ou o texto não está entre " " (aspas duplas) |
Use "Vida: $pontosDeVida" — o $ dentro de aspas duplas insere o valor da variável |
Erro Unresolved reference ao usar a variável |
Nome digitado de forma diferente da declaração (Kotlin diferencia maiúsculas/minúsculas) | Confira se nomeHeroi/pontosDeVida estão escritos exatamente igual em todos os lugares |