PopularJornada
Aprenda Java
Aprenda Java do zero com um curso online grátis e interativo. Domine variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos com desafios práticos, projetos reais, dicas de IA e um certificado ao concluir.
208,497+ codders inscritos
Esta jornada inclui
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
3 seções219 lições197 desafios1,464 perguntas de quiz01Seção 1
Fundamentos
Construa uma base sólida com conceitos essenciais e habilidades básicasCOMEÇAR A APRENDERIntroduction
4 lições324- 01JavaDesafio
- 02Hello World!DesafioQuizÁudio
- 03CommentsQuizÁudio
- 04Basic Program StructureDesafioQuizÁudio
Variables Part 1
5 lições940- 01NumbersDesafioMaestriaQuizÁudio
- 02StringDesafioMaestriaQuizÁudio
- 03BooleanDesafioMaestriaQuizÁudio
- 04charDesafioMaestriaQuizÁudio
- 05Type DeclarationDesafioQuizÁudio
Variables Part 2
5 lições333- 01ConstantsDesafioQuizÁudio
- 02Naming ConventionsQuizÁudio
- 03Recap - Initialize VariablesDesafio
- 04Type Casting Part 1DesafioQuizÁudio
- 05Type Casting Part 2QuizÁudio
Operators Part 1
7 lições956- 01Arithmetic OperatorsDesafioMaestriaQuizÁudio
- 02Modulo OperatorDesafioMaestriaQuizÁudio
- 03Increment/DecrementDesafioMaestriaQuizÁudio
- 04Post Increment/DecrementMaestriaQuizÁudio
- 05Arithmetic ShortcutsDesafioQuizÁudio
- 06Comparison OperatorsDesafioQuizÁudio
- 07String ComparisonQuizÁudio
Operators Part 2
5 lições834- 01Logical Operators Part 1DesafioMaestriaQuizÁudio
- 02Logical Operators Part 2DesafioMaestriaQuizÁudio
- 03Recap - Simple LogicDesafio
- 04Logical Operators Part 3DesafioQuizÁudio
- 05Logical Operators Part 4DesafioMaestriaQuizÁudio
Decision Making
6 lições1038- 01If StatementDesafioMaestriaQuizÁudio
- 02If - ElseDesafioMaestriaQuizÁudio
- 03Switch StatementDesafioMaestriaQuizÁudio
- 04Ternary OperatorDesafioMaestriaQuizÁudio
- 05Recap - If ElseDesafio
- 06Nested If - ElseDesafioQuizÁudio
Basic IO
5 lições723- 01System.out MethodsDesafioMaestriaQuizÁudio
- 02Formatting OutputDesafioMaestriaQuizÁudio
- 03Scanner ClassDesafioQuizÁudio
- 04Recap - Till 120Desafio
- 05Recap - True or FalseDesafio
Calculator App
Projeto4 lições1- 01Welcome MessageDesafio
- 02Getting NumbersProjeto
- 03Basic OperationsProjeto
- 04Formatted OutputProjeto
Loops
9 lições1362- 01For Loop Part 1DesafioMaestriaQuizÁudio
- 02While LoopDesafioMaestriaQuizÁudio
- 03Do While LoopDesafioMaestriaQuizÁudio
- 04BreakDesafioMaestriaQuizÁudio
- 05ContinueDesafioMaestriaQuizÁudio
- 06For Loop Part 2QuizÁudio
- 07Nested LoopDesafioMaestriaQuizÁudio
- 08Infinite LoopQuizÁudio
- 09Recap - Dynamic InputDesafio
Methods (Functions)
7 lições843- 01Declaring MethodsDesafioMaestriaQuizÁudio
- 02Method ParametersDesafioQuizÁudio
- 03Return TypesDesafioQuizÁudio
- 04Method OverloadingMaestriaQuizÁudio
- 05Recap - Sigma FunctionDesafio
- 06Recap - Validation FunctionDesafio
- 07Void MethodsDesafioQuizÁudio
Arrays Basics
6 lições929- 01Declaring ArraysDesafioQuizÁudio
- 02Accessing ElementsDesafioQuizÁudio
- 03Modifying ArraysDesafioMaestriaQuizÁudio
- 04Array MethodsDesafioMaestriaQuizÁudio
- 05Recap - Product ArrayDesafioMaestria
- 06Recap - Reversed ArrayDesafio
Iterating Over Arrays
3 lições423- 01Using For LoopDesafioQuizÁudio
- 02Enhanced For LoopDesafioQuizÁudio
- 03Common Array OperationsDesafioMaestriaQuizÁudio
String Operations
4 lições832- 01String Methods Part 1DesafioMaestriaQuizÁudio
- 02String Methods Part 2DesafioMaestriaQuizÁudio
- 03String FormattingDesafioMaestriaQuizÁudio
- 04String ComparisonDesafioMaestriaQuizÁudio
Final Challenges
3 lições38- 01Number PatternDesafioQuizÁudio
- 02Pattern FinderDesafio
- 03Student Grade CalculatorDesafio
02Seção 2
Lógica e Fluxo
Domine a programação avançada em Java com foco em estruturas de dados e controle de fluxo. Aprenda a trabalhar com arrays complexos, collections, tratamento de erros e gerenciamento de tempo.COMEÇAR A APRENDERArrays Multidimensionais
9 lições1457- 01Básicos de Arrays 2DDesafioQuiz
- 02Acessando Elementos de Arrays 2DDesafioQuiz
- 03Loops Aninhados com Arrays 2DDesafioMaestriaQuiz
- 04Resumo - Arrays 2DDesafio
- 05Adição e Subtração de MatrizesDesafioMaestriaQuiz
- 06Arrays EscalonadosDesafioMaestriaQuiz
- 07Arrays 3D e AlémDesafioMaestriaQuiz
- 08Padrões Comuns de Arrays 2DDesafioMaestriaQuiz
- 09Resumo - Tudo Sobre ArraysDesafio
HashMap Parte 1
6 lições637- 01O que é um HashMap?Quiz
- 02Declarar um HashMapDesafioQuiz
- 03Acessando ValoresDesafioQuiz
- 04Verificar se a Chave ExisteDesafioMaestriaQuiz
- 05Modificando DicionáriosDesafioQuiz
- 06Resumo - HashMapDesafio
HashMap Parte 2
6 lições1030- 01Métodos do HashMapDesafioMaestriaQuiz
- 02Iterar com keySet()DesafioMaestriaQuiz
- 03Iterar com entrySet()DesafioMaestriaQuiz
- 04HashMap AninhadoDesafioMaestriaQuiz
- 05Resumo - Gerenciar ArmazémDesafio
- 06Resumo - Operações do HashMapDesafio
HashSet Parte 1
7 lições844- 01O que é um HashSet?Quiz
- 02Adicionando um ElementoDesafioQuiz
- 03Removendo um ElementoDesafioQuiz
- 04Verificando se um Elemento ExisteDesafioMaestriaQuiz
- 05Vazio e TamanhoDesafioMaestriaQuiz
- 06Limpar e ClonarDesafioQuiz
- 07Resumo - HashSetDesafio
HashSet Parte 2
6 lições1146- 01Mat. - União de HashSetsDesafioMaestriaQuiz
- 02Mat. - Interseção de HashSetDesafioMaestriaQuiz
- 03Mat. - Diferença de ConjuntosDesafioMaestriaQuiz
- 04Mat. - Diferença SimétricaDesafioQuiz
- 05Subconjuntos e SuperconjuntosDesafioMaestriaQuiz
- 06Iterando Sobre ConjuntosDesafioMaestriaQuiz
Fluxo de Controle Avançado
5 lições929- 01Declarações RotuladasDesafioMaestriaQuiz
- 02Expressão SwitchDesafioMaestriaQuiz
- 03Correspondência de PadrõesDesafioMaestriaQuiz
- 04Cláusulas de GuardaDesafioMaestriaQuiz
- 05Resumo - Fluxo de ControleDesafio
Tratamento Básico de Erros
4 lições630- 01Try-Catch BásicoDesafioMaestriaQuiz
- 02Bloco FinallyDesafioQuiz
- 03Lançando ExceçõesDesafioMaestriaQuiz
- 04Exceções PersonalizadasDesafioQuiz
Operações Avançadas com Strings
6 lições1145- 01Básicos do StringBuilderDesafioMaestriaQuiz
- 02Introdução ao StringBufferDesafioMaestriaQuiz
- 03Básicos de Expressões RegularesDesafioMaestriaQuiz
- 04Emparelhamento de Padrões com RegexDesafioMaestriaQuiz
- 05Tokenizador de StringsDesafioMaestriaQuiz
- 06Formatação Avançada de StringsDesafioQuiz
Projeto - Contador de Palavras Únicas
Projeto4 lições123- 01Entrada e Armazenamento de TextoDesafio
- 02Processamento de PalavrasProjetoQuiz
- 03Contagem de PalavrasProjetoQuiz
- 04Estatísticas AvançadasProjetoQuiz
Data e Hora
6 lições646- 01Básicos do LocalDateDesafioQuiz
- 02Operações com LocalTimeDesafioQuiz
- 03Uso do LocalDateTimeDesafioQuiz
- 04Period e DurationDesafioQuiz
- 05Formatação de DataDesafioQuiz
- 06Tratamento de Fuso HorárioDesafioQuiz
03Seção 3
Programação Orientada a Objetos
Descubra como organizar o código com classes, objetos e estruturas reutilizáveisCOMEÇAR A APRENDERFundamentos de POO
9 lições971- 01Arquivos ExternosDesafioQuiz
- 02Introdução à POODesafioQuiz
- 03Classes vs ObjetosDesafioQuiz
- 04A Palavra-chave thisDesafioQuiz
- 05MétodosDesafioQuiz
- 06Campos (Atributos)DesafioQuiz
- 07Método ConstrutorDesafioQuiz
- 08Sobrecarga de ConstrutorDesafioQuiz
- 09Recapitulação - Calculadora SimplesDesafio
Modificadores de Acesso e Encapsulamento
5 lições536- 01Visão Geral dos Níveis de AcessoDesafioQuiz
- 02Métodos Getter e SetterDesafioQuiz
- 03Ocultação de InformaçõesDesafioQuiz
- 04A Palavra-chave finalDesafioQuiz
- 05Recapitulação - Gerenciador de Conta BancáriaDesafio
Propriedades de Classe e Membros Estáticos
5 lições533- 01Variáveis de Instância vs EstáticasDesafioQuiz
- 02Métodos EstáticosDesafioQuiz
- 03Blocos EstáticosDesafioQuiz
- 04Constantes (static final)DesafioQuiz
- 05Recapitulação - Contador e UtilitárioDesafio
Herança
8 lições862- 01Herança Básica (extends)DesafioQuiz
- 02A Palavra-chave superDesafioQuiz
- 03Sobrescrita de Método (@Override)DesafioQuiz
- 04Encadeamento de ConstrutoresDesafioQuiz
- 05A Classe ObjectDesafioQuiz
- 06Herança Simples e MultinívelDesafioQuiz
- 07Por que não há Herança Múltipla de ClassesDesafioQuiz
- 08Recapitulação - Hierarquia de FuncionáriosDesafio
Polimorfismo
6 lições645- 01Fundamentos de Sobrecarga de MétodosDesafioQuiz
- 02Sobrescrita de Métodos (Tempo de Execução)DesafioQuiz
- 03Upcasting e DowncastingDesafioQuiz
- 04O Operador instanceofDesafioQuiz
- 05Classes e Métodos AbstratosDesafioQuiz
- 06Recapitulação - Calculadora de FormasDesafio
Interfaces e Classes Abstratas
7 lições754- 01Introdução às InterfacesDesafioQuiz
- 02Implementando InterfacesDesafioQuiz
- 03Implementação de Múltiplas InterfacesDesafioQuiz
- 04Default e Static em InterfacesDesafioQuiz
- 05Classes Abstratas vs InterfacesDesafioQuiz
- 06Interfaces FuncionaisDesafioQuiz
- 07Recapitulação - Sistema de PagamentoDesafio
Métodos Especiais e a Classe Object
6 lições644- 01Método toString()DesafioQuiz
- 02equals() e hashCode()DesafioQuiz
- 03Método clone()DesafioQuiz
- 04compareTo() e ComparableDesafioQuiz
- 05Interface ComparatorDesafioQuiz
- 06Recapitulação - Ordenação PersonalizadaDesafio
Conceitos Avançados de OOP
6 lições653- 01Composição vs HerançaDesafioQuiz
- 02Agregação vs ComposiçãoDesafioQuiz
- 03Classes Internas, Aninhadas e AnônimasDesafioQuiz
- 04Enums e Métodos de EnumDesafioQuiz
- 05Records (Java 16+)DesafioQuiz
- 06Classes Seladas (Java 17+)DesafioQuiz
Generics
6 lições644- 01Introdução a GenericsDesafioQuiz
- 02Classes GenéricasDesafioQuiz
- 03Métodos GenéricosDesafioQuiz
- 04Parâmetros de Tipos DelimitadosDesafioQuiz
- 05Wildcards (?, extends, super)DesafioQuiz
- 06Recapitulação - Container GenéricoDesafio
Tratamento de Exceções em POO
5 lições536- 01Hierarquia de Classes de ExceçãoDesafioQuiz
- 02Exceções PersonalizadasDesafioQuiz
- 03Erros Checked vs UncheckedDesafioQuiz
- 04Padrão Try With ResourcesDesafioQuiz
- 05Recapitulação - Usuário ValidadoDesafio
Padrões de Projeto Parte 1
6 lições654- 01Introdução aos Padrões de ProjetoDesafioQuiz
- 02Padrão SingletonDesafioQuiz
- 03Padrão FactoryDesafioQuiz
- 04Padrão BuilderDesafioQuiz
- 05Padrão ObserverDesafioQuiz
- 06Padrão StrategyDesafioQuiz
Padrões de Projeto Parte 2
7 lições763- 01Padrão CommandDesafioQuiz
- 02Padrão AdapterDesafioQuiz
- 03Padrão DecoratorDesafioQuiz
- 04Padrão Template MethodDesafioQuiz
- 05Padrão StateDesafioQuiz
- 06Padrão CompositeDesafioQuiz
- 07Padrão IteratorDesafioQuiz
Projeto: Gerenciamento de Biblioteca
Projeto7 lições1- 01Visão Geral do Projeto e Modelagem UMLDesafio
- 02Classes Livro e UsuárioProjeto
- 03Sistema de EmpréstimosProjeto
- 04Funcionalidade de BuscaProjeto
- 05Interface do AdministradorProjeto
- 06Integração de Tratamento de ExceçõesProjeto
- 07Testes e IntegraçãoProjeto
Desafios Finais
4 lições437- 01Plataforma de E-LearningDesafioQuiz
- 02Sistema BancárioDesafioQuiz
- 03Desenvolvimento de Personagens de JogosDesafioQuiz
- 04Serviço de Aluguel de VeículosDesafioQuiz
Por que aprender Java com a Coddy
- Curso de Java online e grátis: sem instalação, sem configurar ferramentas e sem barreiras para começar. Abra o navegador e pratique desde a primeira aula.
- Aulas práticas de Java que vão além de um tutorial: cada conceito vem com um desafio para escrever código real e aprender fazendo.
- As dicas de IA ajudam quando você trava em um exercício de Java, mostrando o próximo passo sem entregar a resposta completa.
- Certificado grátis de conclusão para compartilhar no LinkedIn ou adicionar ao currículo como prova de que você completou um curso interativo de Java.
Perguntas frequentes sobre aprender Java
Java é fácil de aprender?
Sim, você pode começar com Java mesmo sem experiência. A Coddy divide os conceitos em exercícios curtos para você entender a sintaxe, praticar variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos e ganhar confiança aos poucos.
Quanto tempo leva para aprender Java?
Os fundamentos de Java geralmente podem ser aprendidos em uma ou duas semanas de prática diária. Para criar projetos reais com segurança, reserve de um a três meses, dependendo do seu ritmo.
Onde posso aprender Java online grátis?
A Coddy oferece um curso online grátis de Java com aulas, desafios de código, quizzes e projetos. Não é preciso instalar nada: tudo funciona no navegador.
Como aprender Java rápido?
A forma mais rápida é praticar todos os dias. Na Coddy você alterna explicação curta, exercício imediato e feedback com dicas de IA, passando mais tempo escrevendo Java do que assistindo a vídeos longos.
Recebo um certificado de Java ao terminar?
Sim. Ao concluir o curso de Java na Coddy, você recebe um certificado grátis de conclusão para compartilhar no LinkedIn ou incluir no currículo.
O que posso criar depois de aprender Java?
Depois do curso, você poderá criar scripts úteis, pequenos apps, automações, jogos simples e projetos para mostrar no portfólio. Também terá uma base sólida para avançar para tópicos mais profissionais.