Exercício 1
Qual é a saída do trecho de código abaixo?
“`java int a = 5; int b = 2; int resultado = a % b; System.out.println(resultado); “`
Gabarito: alternativa C. O operador `%` retorna o resto da divisão inteira. Cinco dividido por dois resulta em quociente dois e resto um, por isso o valor impresso é 1.
Exercício 2
Observe a declaração de variáveis a seguir:
“`java double saldo = 150; int parcelas = 3; double valorParcela = saldo / parcelas; “`
Qual é o tipo de dado de `valorParcela` e por quê?
- A) int, porque `saldo` foi declarada sem casas decimais visíveis.
- B) double, porque pelo menos um dos operandos da divisão é double.
- C) boolean, porque o resultado de uma divisão é sempre lógico.
- D) char, porque `parcelas` representa uma contagem.
Gabarito: alternativa B. Em Java, quando um dos operandos de uma operação aritmética é double, o resultado também é double, mesmo que o outro operando seja int.
Exercício 3
Qual alternativa declara corretamente uma variável para armazenar a média de três notas, permitindo valores com casas decimais?
- A) `int media = 7.5;`
- B) `boolean media = 7.5;`
- C) `double media = 7.5;`
- D) `char media = 7.5;`
Gabarito: alternativa C. Entre as alternativas apresentadas, apenas `double` aceita o literal decimal `7.5`. A declaração com `int` geraria erro de compilação sem conversão.
Exercícios 4 e 5: estruturas condicionais
Estruturas condicionais permitem que o programa tome decisões diferentes dependendo do valor de uma variável. Os exercícios a seguir usam if/else e switch para simular situações comuns de validação de dados.
Exercício 4
“`java int idade = 16; if (idade >= 18) { System.out.println(“Pode dirigir”); } else { System.out.println(“Nao pode dirigir”); } “`
O que o programa imprime?
- A) Pode dirigir
- B) Não pode dirigir
- C) Erro de compilação
- D) Nada é impresso
Gabarito: alternativa B. Como idade vale 16 e a condição exige ser maior ou igual a 18, o bloco else é executado.
Exercício 5
“`java int diaSemana = 3; switch (diaSemana) { case 1: System.out.println(“Segunda”); break; case 2: System.out.println(“Terca”); break; case 3: System.out.println(“Quarta”); break; default: System.out.println(“Dia invalido”); } “`
Qual é a saída deste trecho?
- A) Segunda
- B) Terça
- C) Quarta
- D) Dia inválido
Gabarito: alternativa C. O valor de diaSemana é 3, que corresponde ao case 3, imprimindo “Quarta” antes de o break interromper o switch.
Exercícios 6 e 7: laços de repetição
Laços de repetição evitam reescrever o mesmo bloco de código várias vezes. Os exercícios seguintes pedem para acompanhar como uma variável de controle muda a cada repetição até o laço terminar.
Exercício 6
“`java int soma = 0; for (int i = 1; i <= 5; i++) { soma = soma + i; } System.out.println(soma); “`
Qual é o valor final impresso?
Gabarito: alternativa C. O laço soma os valores de 1 a 5 (1+2+3+4+5), totalizando 15.
Exercício 7
“`java int contador = 0; while (contador < 3) { System.out.println(“Repeticao numero ” + contador); contador++; } “`
Quantas vezes a mensagem é impressa?
- A) 2 vezes
- B) 3 vezes
- C) 4 vezes
- D) Infinitas vezes
Gabarito: alternativa B. O laço while executa enquanto contador for menor que 3, ou seja, para os valores 0, 1 e 2, três repetições no total.
Exercícios 8 e 9: métodos e arrays
Métodos organizam blocos de código reutilizáveis, e arrays armazenam vários valores do mesmo tipo em uma única variável. Resolver os dois exercícios a seguir e comparar com o gabarito comentado ajuda a confirmar se a lógica de acesso por índice e de chamada de método foi compreendida corretamente.
Exercício 8
“`java public static int dobro(int numero) { return numero * 2; }
public static void main(String[] args) { int resultado = dobro(4); System.out.println(resultado); } “`
O que é impresso ao executar este programa?
- A) 2
- B) 4
- C) 8
- D) Erro de compilação
Gabarito: alternativa C. O método dobro recebe 4 como parâmetro, multiplica por 2 e retorna 8, que é impresso no main.
Exercício 9
“`java int[] numeros = {10, 20, 30, 40}; System.out.println(numeros[2]); “`
Qual é o valor impresso?
Gabarito: alternativa C. Em um array, a contagem de índices começa em zero. O índice 2 corresponde ao terceiro elemento, que é 30.
Exercício 10: introdução à orientação a objetos
O último exercício introduz os conceitos mais básicos de orientação a objetos: classe, objeto e atributo. Ele não exige conhecimento de herança, polimorfismo ou interfaces, apenas entender como um objeto guarda valores em seus atributos.
Exercício 10
“`java class Produto { String nome; double preco; }
public class Main { public static void main(String[] args) { Produto produto1 = new Produto(); produto1.nome = “Caderno”; produto1.preco = 12.50; System.out.println(produto1.nome); } } “`
O que este programa imprime?
- A) Produto
- B) Caderno
- C) 12.50
- D) Erro de compilação
Gabarito: alternativa B. produto1 é um objeto da classe Produto, e o atributo nome foi definido como “Caderno” antes da impressão.
Perguntas frequentes sobre a prática de Java
Preciso saber programar para resolver esses exercícios?
Não é necessário dominar Java por completo. Os exercícios foram organizados do mais simples ao mais elaborado, e cada um traz o trecho de código necessário para interpretar a questão. Basta ter noção básica de lógica e acompanhar o gabarito comentado quando surgir dúvida.
Java e JavaScript são a mesma coisa?
Não. Apesar do nome parecido, Java e JavaScript são linguagens diferentes.
Resolver os exercícios substitui aprender todo o processo de desenvolvimento de software?
Não. Praticar exercícios de código ajuda a fixar sintaxe e lógica, mas desenvolver software profissionalmente envolve etapas adicionais, como levantamento de requisitos, especificação, testes e manutenção do sistema depois que ele já está em uso.
Qual programa preciso instalar para executar os códigos?
Para rodar os exemplos deste artigo, é preciso ter um kit de desenvolvimento Java instalado e algum editor de código ou ambiente de desenvolvimento integrado para escrever e compilar os programas. A escolha exata da versão e da ferramenta depende do sistema operacional e da preferência de quem está estudando.
Por que meu código Java não compila mesmo parecendo correto?
Erros de compilação costumam vir de detalhes simples: ponto e vírgula faltando, chaves que não fecham, nome de variável digitado de forma diferente da declaração original ou tipo incompatível em uma atribuição. Revisar linha por linha o trecho de código, comparando com os exemplos usados nos exercícios, ajuda a localizar esse tipo de erro.
Como usar o gabarito de forma eficaz?
O ideal é tentar resolver o exercício sem olhar o gabarito primeiro, escrevendo sua justificativa para a alternativa escolhida. Só depois compare com a explicação apresentada. Se a resposta estiver errada, releia o trecho de código linha por linha até identificar onde o raciocínio divergiu da execução real do programa.
O que estudar depois de acertar todos os exercícios?
Depois de dominar variáveis, operadores, condicionais, laços, métodos, arrays e os conceitos iniciais de orientação a objetos, o próximo passo natural é aprofundar orientação a objetos, com herança e polimorfismo, e praticar estruturas de dados um pouco mais elaboradas, como listas e coleções.
Construa sua carreira em tecnologia com formações alinhadas ao mercado
Se você quer ingressar ou crescer no mercado da tecnologia, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.
As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.
Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.