Tutorial Java

Aprenda Java do zero, como numa escola: cada linha de código é explicada parte por parte, você vê exatamente o que aparece na tela e pratica num editor aqui mesmo no navegador. O guia ensina o Java 25 LTS, e todas as saídas e mensagens de erro foram conferidas num JDK de verdade. Vale para Linux, Windows e macOS.

Comece pelo Nível 1 ❯

Experimente agora

A caixa abaixo é o editor Experimente do guia. Ela tem um programa Java completo, pronto para rodar. Clique em Rodar: o editor confere o código como o compilador do Java faria e mostra o que o programa escreve na tela. Nada do que você fizer aqui mexe no seu computador.

Missão: clique em Rodar e veja o Olá, mundo! aparecer. Depois troque o texto entre as aspas por Estou aprendendo Java! e rode de novo. Cuidado para não apagar as aspas " nem o ; do fim da linha.

public class Main {
    public static void main(String[] args) {
        System.out.println("Olá, mundo!");
    }
}
public class Main {
    public static void main(String[] args) {
        System.out.println("Estou aprendendo Java!");
    }
}

O que aconteceu: o programa tem uma única linha que faz alguma coisa, a do meio, System.out.println("Olá, mundo!");. Ela manda o Java escrever um texto na tela e pular para a linha de baixo. Todo o resto (public class Main, public static void main, as chaves) é a "moldura" que todo programa Java tem. Na aula Olá, Mundo você vai entender cada palavra dessa moldura.

Se você apagou uma aspa ou o ponto e vírgula, viu uma mensagem em inglês com um ^ apontando o erro. Não se assuste: é o compilador ajudando. O guia tem uma aula inteira sobre essas mensagens, Lendo Erros do javac.


O que é este guia

O Java é uma das linguagens de programação mais usadas do mundo. Ela roda nos servidores de bancos e lojas virtuais, em aplicativos Android, em sistemas de governo e até no Minecraft. Quem aprende Java consegue:

  • escrever programas que fazem contas, tomam decisões e repetem tarefas;
  • organizar programas grandes com classes e objetos, o jeito de pensar que o Java popularizou;
  • trabalhar com listas, arquivos, datas e dinheiro usando a enorme biblioteca que vem com o Java;
  • entender o código de sistemas profissionais, que muitas vezes são feitos em Java há décadas.

O guia é para quem nunca programou. Ele começa do zero absoluto (o que é um programa? o que é compilar?) e vai até o Java moderno: lambdas, streams, records, threads virtuais, Maven e testes. A aula O que é Java conta a história da linguagem e mostra onde ela é usada.


Como as aulas funcionam

Nenhum código aparece "seco". Toda aula segue o mesmo caminho:

  1. A ideia primeiro. Antes do código, você entende o problema que ele resolve, com uma comparação do dia a dia.
  2. Anatomia. Cada pedaço de uma linha nova é separado e explicado: o que é palavra do Java, o que é nome escolhido por você, para que serve cada símbolo.
  3. A saída real. Você vê exatamente o que aparece na tela, com etiquetas laranja apontando o que importa. Toda saída foi produzida pelo JDK 25 de verdade.
  4. Experimente. Pelo menos duas caixas por aula para você mudar o código e rodar, muitas com uma missão e um botão para ver a solução.
  5. Várias formas de fazer. Quase sempre há mais de um caminho, e uma tabela "qual usar" mostra quando escolher cada um.
  6. Quando dá errado. O código com erro, a mensagem real do compilador (ou da exceção), o que ela quer dizer e como consertar.
  7. Exercícios e resumo. Perguntas com correção na hora e uma lista curta do que levar da aula.

Exemplo: a anatomia de uma linha

Esta é a linha que você rodou lá em cima, com outro texto. Veja como as aulas desmontam uma linha de código:

System.out.println("Oi");
System
Uma classe que já vem com o Java e representa o "sistema" onde o programa roda. Começa com letra maiúscula, e isso importa.
.out
A saída padrão do sistema: normalmente, a tela do terminal. O ponto quer dizer "dentro de": o out que fica dentro de System.
.println
O método (uma ação) que escreve um texto e pula para a próxima linha. O nome vem de print line, "imprimir linha".
( )
Os parênteses levam para o método aquilo que ele deve usar, o argumento.
"Oi"
O texto a escrever. As aspas duplas marcam onde o texto começa e termina; elas não aparecem na tela.
;
O ponto e vírgula termina a instrução, como o ponto final de uma frase.

Exemplo: o terminal

Além do editor, as aulas mostram o terminal da máquina fictícia do guia: um computador chamado notebook, da usuária ana, com o JDK 25 instalado. É ali que o programa vira algo executável. Primeiro o javac (o compilador) traduz o arquivo Main.java; depois o java executa o resultado:

$ cd java
$ javac Main.java                « compila: não mostra nada quando dá certo
$ ls
Main.class  Main.java              « o .class é o programa traduzido (bytecode)
$ java Main                        « executa a classe Main (sem o .class)
Oi
$ echo $?
0                                  « código de saída 0: terminou sem erro

Repare que o javac não escreveu nada: no mundo do terminal, silêncio quer dizer sucesso. Ele criou o arquivo Main.class, e o java Main rodou esse arquivo. A aula javac e java mostra cada passo e os erros mais comuns desse caminho; a aula O Editor do Guia ensina a usar as caixas Experimente e o JShell do guia.

Quando quiser só testar uma conta rápida, o Java tem o JShell, um "Java de conversa": você digita, ele responde na hora. Experimente:

Missão: digite 7 + 8 e aperte Enter. O JShell mostra o resultado com um nome, como $1 ==> 15. Depois tente "Olá, " + "Ana".

7 + 8

A aula JShell explica o que é o $1 e como guardar valores e criar métodos ali dentro.


Escolha sua trilha

Nível 1 · Iniciante

Para quem nunca programou.

  • O que é Java, JDK e JVM; instalar e escolher um editor
  • O primeiro programa, javac, java e JShell
  • Variáveis, tipos e operadores
  • Textos, if, switch, laços e arrays
  • Ler o teclado com Scanner
Começar ❯

Nível 2 · Intermediário

Métodos e orientação a objetos.

  • Métodos, parâmetros, retorno e recursão
  • Classes, objetos, construtores e encapsulamento
  • Herança, interfaces, enums e records
  • Exceções, datas, dinheiro e arquivos
Começar ❯

Nível 3 · Avançado

Java moderno e profissional.

  • Coleções e generics
  • Lambdas, streams e Optional
  • Pattern matching, classes seladas e threads virtuais
  • JAR, Maven, Gradle, JUnit e depuração
Começar ❯

Projetos

Programas completos, construídos passo a passo.

  • Calculadora e jogo da adivinhação
  • Agenda de contatos
  • Sistema de biblioteca
  • Conta bancária com testes e tarefas com Maven
Ver projetos ❯

Referência

Consulta rápida para quando você já sabe o que procura.

  • Palavras-chave do Java
  • Métodos de String e de Math
  • Exceções comuns e erros do compilador
  • Glossário e quiz
Consultar ❯
A regra de ouro

Ler não basta: digite cada exemplo. Use as caixas Experimente das aulas e, quando tiver o JDK instalado, repita no terminal do seu computador. Para instalar, veja Instalar no Linux ou Instalar no Windows e macOS.


Como ler este guia

ElementoO que significa
Caixa com o nome Main.java no cantoO conteúdo de um arquivo de código. O nome no canto é o nome do arquivo. Quando aparece trecho, é só um pedaço de programa, não um arquivo inteiro.
Main.java · erro de propósitoCódigo que não compila (ou que quebra ao rodar), mostrado de propósito para você ver a mensagem de erro. Não copie como exemplo a seguir.
ana@notebook:~$O prompt do terminal: usuária ana, na máquina notebook, na pasta pessoal (~). O que vem depois é o comando digitado.
jshell>O prompt do JShell: o que vem depois foi digitado no JShell, não no terminal.
Linhas sem promptA resposta do computador (a saída do programa ou a mensagem de erro).
← etiquetaUma explicação do guia sobre aquela linha. Não aparece no terminal real.
Java 21+O recurso só existe a partir dessa versão do Java. A aula diz a alternativa para versões mais antigas (veja Versões e LTS).
ilustrativoUma tela que não pôde ser produzida na máquina do guia (por exemplo, o instalador do Windows). Ela segue o formato real, mas os detalhes podem variar.
Versão de referência: Java 25 LTS

Todas as saídas foram conferidas no Eclipse Temurin 25.0.4.1 (uma distribuição gratuita do OpenJDK), num Linux em português do Brasil. O Java 25 é a versão de suporte longo (LTS) mais recente. Quase tudo do Nível 1 funciona igual no Java 17 e no 21; quando um recurso é novo, a aula avisa com o selo de versão. A aula Versões e LTS explica o que isso quer dizer.