Cursos e QualificaçõesCursos Livres

10 exercícios de Java com alternativas e respostas para praticar

Pratique Java com 10 exercícios sobre variáveis, operadores, condicionais, laços, métodos, arrays e orientação a objetos, todos com alternativas e gabarito comentado.



Em resumo:

  • Dez exercícios progressivos, de variáveis simples até uma introdução à orientação a objetos.
  • Cada questão traz enunciado, código Java e alternativas de resposta.
  • Os exercícios cobrem tipos primitivos, operadores, condicionais, laços, métodos e arrays.

Quem está aprendendo Java muitas vezes entende a teoria sobre variáveis, laços ou classes, mas trava ao escrever o primeiro programa sozinho.

Resolver exercícios com enunciado, código e alternativas ajuda a fechar essa lacuna. Este artigo reúne dez exercícios organizados em ordem crescente de complexidade, cobrindo fundamentos do início do aprendizado de Java.

Cada exercício traz enunciado, trecho de código quando fizer sentido, alternativas de resposta e gabarito comentado.

Pessoa estudando lógica de programação em uma mesa organizada com laptop, caderno de anotações e iluminação suave.

Exercícios 1 a 3: variáveis, tipos de dados e operadores

Os três primeiros exercícios partem da base de qualquer programa Java: declarar variáveis com o tipo correto e aplicar operadores aritméticos e de comparação sobre elas. A tabela abaixo resume os tipos primitivos usados nos exercícios desta seção.

Teste vocacional

Qual carreira combina com o seu perfil?

Responda as perguntas e descubra o curso certo e as bolsas ideais para você!

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); “`

  • A) 2
  • B) 2.5
  • C) 1
  • D) 0

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?

  • A) 5
  • B) 10
  • C) 15
  • D) 25

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?

  • A) 10
  • B) 20
  • C) 30
  • D) 40

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.

Logo do Querobolsa

Gostando da matéria?

Inscreva-se e receba nossos principais posts no seu e-mail

Banner FOQA Últimas Notícias

Revista Vídeos

As profissões mais bem pagas em 2026

Postado em 31/03/2026

Como estudar pro ENEM 2026 do ZERO

Postado em 23/04/2026


Pronto para estudar pagando menos?

Bolsas de até 80% de desconto em milhares de faculdades por todo o Brasil.
Encontrar minha bolsa