Pratique o que aprendeu nos conteúdos e exemplos de código.
- Leia o enunciado do exercício
- Tente resolver por conta própria antes de buscar ajuda
- Consulte
src/content/docs/se precisar revisar algum conceito - Compare sua solução com a dos colegas
Objetivo: Escrever e executar o primeiro programa Java.
Instrução:
Crie uma classe OlaMundo que imprima "Olá, Caramelo Tech!" na saída.
Critérios de sucesso:
- O arquivo se chama
OlaMundo.java - O programa compila sem erros (
javac OlaMundo.java) - A mensagem aparece corretamente ao executar (
java OlaMundo)
Objetivo: Declarar e usar variáveis de diferentes tipos.
Instrução:
- Declare uma variável
Stringcom seu nome - Declare uma variável
intcom sua idade - Declare uma variável
doublecom sua altura em metros - Imprima uma frase combinando as três
Saída esperada:
Meu nome é Ana, tenho 25 anos e medo 1.68m.
Critérios de sucesso:
- As três variáveis são declaradas corretamente
- A mensagem é exibida conforme esperado
Objetivo: Usar operadores aritméticos e entender divisão inteira.
Instrução:
Crie uma classe Calculadora com um método main que:
- Declare duas variáveis
int:a = 17eb = 5 - Imprima o resultado de cada operação:
+,-,*,/,% - Declare uma variável
doublechamadadivisaoRealcom o resultado dea / (double) b - Imprima
divisaoReal
Saída esperada:
Soma: 22
Subtração: 12
Multiplicação: 85
Divisão inteira: 3
Resto: 2
Divisão real: 3.4
Critérios de sucesso:
- Todas as cinco operações aritméticas são usadas
- A divisão inteira retorna
3, não3.4 - A divisão real retorna
3.4 - O programa compila e executa sem erros
Consulte Operadores em Java se precisar revisar.
Objetivo: Combinar operadores relacionais e lógicos para avaliar condições.
Instrução:
Crie uma classe VerificadorIdade com um método main que:
- Declare uma variável
int idade = 20eboolean temDocumento = true - Usando operadores relacionais e lógicos, imprima:
- Se a pessoa é maior de idade (
>= 18) - Se a pessoa pode votar no Brasil (
>= 16) - Se a pessoa pode dirigir (
>= 18etemDocumento == true) - Se a pessoa é menor de 18 ou não tem documento
- Se a pessoa é maior de idade (
Saída esperada (com idade = 20 e temDocumento = true):
Maior de idade: true
Pode votar: true
Pode dirigir: true
Menor de 18 ou sem documento: false
Critérios de sucesso:
- Usa pelo menos um operador
&&e um|| - Usa pelo menos um operador
! - Os resultados mudam corretamente ao alterar os valores de
idadeetemDocumento
Consulte Operadores em Java se precisar revisar.
Objetivo: Usar o operador ternário para simplificar condições.
Instrução:
Crie uma classe Aprovacao com um método main que:
- Declare
double nota = 6.5 - Use o operador ternário para atribuir
"Aprovado"ou"Reprovado"a uma variávelString resultado(aprovado senota >= 7.0) - Imprima o resultado
- Repita com
nota = 8.0e verifique que o resultado muda
Saída esperada:
Nota 6.5: Reprovado
Nota 8.0: Aprovado
Critérios de sucesso:
- O operador ternário é usado (não
if-else) - O resultado muda corretamente conforme a nota
- O programa compila e executa sem erros
Consulte Operadores em Java se precisar revisar.
Objetivo: Usar loops para repetir ações.
Instrução:
Escreva um programa que imprima os números de 1 a 10, um por linha, usando um loop for.
Saída esperada:
1
2
3
...
10
Critérios de sucesso:
- Todos os números de 1 a 10 são exibidos
- Cada número aparece em uma linha separada
- Um loop
foré usado (não imprima cada número manualmente)
Este exercício usa estruturas de controle que serão cobertas em módulos futuros.
Objetivo: Criar uma classe com atributos privados e acesso via getters e setters.
Instrução:
Crie uma classe Produto com:
- Atributos privados:
String nome,double preco,int estoque - Construtor que recebe os três valores
- Getter para cada atributo
- Método
aplicarDesconto(double percentual)que reduz o preço pelo percentual informado (ex:10reduz 10%) - Método
adicionarEstoque(int quantidade)que soma ao estoque atual (ignorar valores negativos)
Crie uma classe Main para testar:
Produto p = new Produto("Notebook", 3500.0, 10);
System.out.println(p.getNome()); // Notebook
System.out.println(p.getPreco()); // 3500.0
p.aplicarDesconto(10);
System.out.println(p.getPreco()); // 3150.0
p.adicionarEstoque(5);
System.out.println(p.getEstoque()); // 15Critérios de sucesso:
- Os atributos são
private - O construtor inicializa todos os atributos
-
aplicarDesconto(10)reduz o preço de 3500.0 para 3150.0 -
adicionarEstoque(-3)não altera o estoque - O programa compila e executa sem erros
Consulte Programação Orientada a Objetos se precisar revisar.
Objetivo: Criar uma hierarquia de classes usando herança e sobrescrever métodos.
Instrução:
Crie as seguintes classes:
Veiculo— atributosString marcaeint ano; métodovoid descricao()que imprime"Veículo: [marca], [ano]"Carro extends Veiculo— atributoint numeroPortas; sobrescrevedescricao()para imprimir"Carro: [marca], [ano], [numeroPortas] portas"Moto extends Veiculo— atributoboolean temCarenagem; sobrescrevedescricao()para imprimir"Moto: [marca], [ano], carenagem: [true/false]"
Crie uma classe Main que instancie um Carro e uma Moto e chame descricao() em cada um.
Saída esperada:
Carro: Toyota, 2022, 4 portas
Moto: Honda, 2021, carenagem: true
Critérios de sucesso:
-
CarroeMotousamextends Veiculo - Ambas sobrescrevem
descricao()com@Override - Os atributos herdados (
marca,ano) são acessados nas subclasses - O programa compila e executa sem erros
Consulte Programação Orientada a Objetos se precisar revisar.