Domine Java do zero ao avançado e crie apps robustos. Curso online gratuito com prática, IDE, OO, coleções, threads e JDBC para sua carreira.
Neste curso gratuito, aprenda sobre
Como o Java funciona (JVM/JRE/JDK) e por que é portátil para múltiplas plataformas
Instalar JDK, configurar variáveis de ambiente e compilar/executar Java manualmente
Usar IntelliJ e organizar projetos com pacotes, convenções, comentários e boas práticas
Dominar tipos primitivos, String, casting, variáveis e operadores (aritm./relac./lógicos)
Aplicar controle de fluxo: if/else, ternário, switch, while/do-while/for, break/continue
Trabalhar com arrays e matrizes, incluindo inicialização, foreach e acesso eficiente
POO em Java: classes/objetos, coesão, métodos, this, varargs, encapsulamento e construtores
Herança, sobrescrita/sobrecarga, static/final, enums, classes abstratas e interfaces
Polimorfismo, cast/instanceof e programação orientada a interfaces
Tratamento de exceções: checked/unchecked, try/catch/finally, multicatch e try-with-resources
Utilitários Java: wrappers, imutabilidade de String, Date/Time API, Locale, regex e Scanner
IO/NIO: File, streams/buffers, Path/Files, atributos, walking, matcher e serialização
Coleções, equals/hashCode, ordenação, Big-O, generics, lambdas, streams e collectors
Threads/concorrência, executors, locks, filas bloqueantes e CompletableFuture; padrões e JDBC
Sobre o curso online gratuito
A Maratona Java é um curso online gratuito pensado para quem quer sair do básico e ganhar confiança para programar em Java com padrão profissional. Você começa entendendo como o Java funciona na prática, prepara o ambiente com JDK e IDE, e rapidamente passa a escrever, compilar e organizar código de um jeito que faz sentido para projetos reais. A proposta é acelerar sua evolução com uma trilha consistente: aprender, testar, ajustar e consolidar o raciocínio de programação para não travar quando aparecer um erro ou um comportamento inesperado.
Ao longo do curso, você desenvolve uma base sólida da linguagem: variáveis, tipos, operadores, decisões e laços de repetição, além de trabalhar com arrays e estruturas que aparecem em praticamente qualquer aplicação. Em vez de focar apenas em teoria, a experiência é guiada por exercícios e perguntas que estimulam você a explicar conceitos e tomar decisões como quem está codando no dia a dia. Isso ajuda a transformar conteúdo em habilidade, criando repertório para resolver problemas e escrever código mais legível e seguro.
Quando a base está firmada, o curso aprofunda em orientação a objetos — o coração do Java. Você entende classes, objetos, métodos, encapsulamento, construtores, associação, herança, polimorfismo, interfaces e classes abstratas, evoluindo para um estilo de desenvolvimento que facilita manutenção e crescimento de sistemas. A partir daí, entram recursos essenciais para produtividade e qualidade: tratamento de exceções, classes utilitárias, manipulação de strings e datas, expressões regulares, entrada e saída de arquivos com IO e NIO, e boas práticas que fazem diferença em código de verdade.
Na etapa mais avançada, você mergulha em coleções, generics, lambdas, method references e streams, aprendendo a lidar melhor com dados e escrever soluções mais expressivas. Também há conteúdos de threads e concorrência, incluindo sincronização, estruturas seguras para múltiplas threads e APIs modernas como CompletableFuture, ampliando sua capacidade de construir aplicações performáticas. Para fechar o ciclo, o curso trabalha padrões de projeto e JDBC, conectando Java a banco de dados e aproximando você do que o mercado costuma exigir em projetos backend. Se você busca uma jornada completa, prática e bem encadeada para aprender Java, esta maratona oferece um caminho direto para evoluir e se preparar para desafios profissionais.
Conteúdo do curso
Aula em vídeo: 00 - Maratona Java Virado No Jiraya - Bem-vindo06m
Exercício: Qual é o foco principal da segunda parte do curso de Java mencionado no texto?
Aula em vídeo: 01 - O que esperar do curso07m
Exercício: Qual é o principal objetivo do curso descrito no vídeo?
Aula em vídeo: 02 - Como Java Funciona10m
Exercício: Qual é o principal benefício de usar Java para desenvolvimento de software?
Aula em vídeo: 03 - Fazendo o download da JDK 1509m
Exercício: Qual é a principal diferença entre linguagens de programação de alto nível e de baixo nível mencionadas no vídeo?
Aula em vídeo: 04 - Configurando variaveis de ambiente08m
Exercício: Qual é a importância de configurar variáveis de ambiente ao instalar o Java?
Aula em vídeo: 05 - Executando compilação manualmente11m
Exercício: Qual a convenção correta para nomear classes em Java?
Aula em vídeo: 06 - Download da IDE IntelliJ Community06m
Exercício: Qual é uma vantagem de usar uma IDE (Ambiente de Desenvolvimento Integrado) para desenvolvimento de software?
Aula em vídeo: 07 - Conhecendo a IDE IntelliJ Community11m
Exercício: Qual é a versão do Java mencionada no vídeo como instalada no projeto?
Aula em vídeo: 08 - Organizando o código em pacotes08m
Exercício: Qual é uma prática recomendada ao criar pacotes em um projeto Java?
Aula em vídeo: 09 - Comentários07m
Exercício: Qual dos tipos de comentários no código é recomendado para uso mais frequente e por quê?
Aula em vídeo: 10 - Tipos primitivos pt 01 - convenções de variáveis11m
Exercício: Quantos tipos primitivos existem em Java?
Aula em vídeo: 11 - Tipos primitivos pt 02 - declaração e tamanho em memória12m
Exercício: Qual é a função do tipo de dado boolean em Java?
Exercício: Qual resultado você obterá utilizando o operador lógico 'ou' em uma expressão que compara se o valor de uma conta corrente é maior que R$5.000 ou o valor de uma conta poupança é maior que R$5.000, assumindo que o valor na conta corrente é de R$200 e na conta poupança é de R$3.000?
Aula em vídeo: 19 - Operadores pt 05 - Atribuição10m
Exercício: Qual é a finalidade principal dos operadores de atribuição?
Aula em vídeo: 27 - Estruturas de Repetição pt 01 - Laços de repetição while, do while, for12m
Aula em vídeo: 28 - Estruturas de Repetição pt 02 - Exercício for04m
Aula em vídeo: 29 - Estruturas de Repetição pt 03 - Break06m
Aula em vídeo: 30 - Estruturas de Repetição pt 04 - Exercício Break07m
Exercício: Em um programa para parcelar a compra de um carro, suponha que o carro tenha um valor total de 45.000 unidades monetárias. Se a condição é que cada parcela deve ser de no mínimo 1.000 unidades monetárias, em quantas parcelas máximas o carro pode ser dividido respeitando esta condição?
Aula em vídeo: 31 - Estruturas de Repetição pt 05 - Continue06m
Aula em vídeo: 32 - Arrays pt 0111m
Aula em vídeo: 33 - Arrays pt 0204m
Aula em vídeo: 34 - Arrays pt 0308m
Aula em vídeo: 35 - Arrays pt 04 - Foreach09m
Aula em vídeo: 36 - Arrays Multidimensionais pt 0113m
Exercício: O que são arrays multidimensionais em Java?
Aula em vídeo: 60 - Orientação Objetos - Blocos de inicialização11m
Exercício: Qual a principal diferença entre um bloco de inicialização de instância e um construtor em Java?
Aula em vídeo: 61 - Orientação Objetos - Modificador static14m
Aula em vídeo: 62 - Orientação Objetos - Métodos estáticos09m
Aula em vídeo: 63 - Orientação Objetos - Bloco de inicialização estático08m
Aula em vídeo: 64 - Orientação Objetos - Associação pt 01 - Arrays com Objetos07m
Aula em vídeo: 65 - Orientação Objetos - Associação pt 02 - Associação unidirecional um para muitos07m
Aula em vídeo: 66 - Orientação Objetos - Associação pt 03 - Associação unidirecional muitos para um07m
Exercício: No contexto de orientação a objetos em Java, qual tipo de relacionamento é exemplificado quando uma escola pode ter vários professores, mas o professor só pode pertencer a uma escola, e a escola não tem conhecimento direto do professor?
Exercício: Em uma estrutura de dados onde você deseja criar um mapa associando consumidores a mangás comprados, qual seria a melhor abordagem em Java para lidar com múltiplos itens associados a cada consumidor?
Exercício: Qual é uma das principais características de uma classe interna estática em Java?
Aula em vídeo: 193 - Parametrizando comportamentos pt 0112m
Aula em vídeo: 194 - Parametrizando comportamentos pt 0212m
Aula em vídeo: 195 - Lambdas pt 01 - Predicate09m
Aula em vídeo: 196 - Lambdas pt 02 - Consumer05m
Aula em vídeo: 197 - Lambdas pt 03 - Function06m
Aula em vídeo: 198 - Method Reference pt 01 - Referência a métodos estáticos12m
Exercício: Qual é a maneira correta de utilizar 'método de referência' com a sintaxe de lambda, supondo que estamos lidando com uma classe Anime em Java, onde a classe possui um método estático 'compareByName' que compara dois objetos de 'Anime' baseado em seus nomes?
Aula em vídeo: 199 - Method Reference pt 02 - Referência a métodos não estáticos10m
Aula em vídeo: 200 - Method Reference pt 03 - Referência a construtor07m
Exercício: Qual é uma prática recomendada ao trabalhar com coleções de tipo primitivo em Java, para melhorar a performance em aplicações de alta performance?
Comentários do Curso: Maratona Java
Liliana Conceição Lima
permitão na configuração o build compilar a pasta, para acessar vai em Build,Execution,Deployment >Compilar>Java Compilar>no abra o arquivo e> Apply