Glossário

As 53 palavras reservadas do Java, o que cada uma faz e um exemplo de uso.

abstractModificador

Declara uma classe que não pode ser instanciada ou um método sem corpo, que deve ser implementado pelas subclasses.

public abstract class Animal { abstract void emitirSom(); }
assertControle de fluxo

Verifica em tempo de execução se uma condição é verdadeira; se não for, lança AssertionError. Precisa ser habilitado com a flag -ea.

assert saldo >= 0 : "saldo não pode ser negativo";
booleanTipo primitivo

Tipo primitivo lógico que armazena apenas true ou false.

boolean ativo = true;
breakControle de fluxo

Interrompe imediatamente a execução de um laço (for, while, do) ou de um case dentro do switch.

for (int i = 0; i < 10; i++) { if (i == 5) break; }
byteTipo primitivo

Tipo primitivo inteiro de 8 bits com sinal, que vai de -128 até 127.

byte idade = 25;
caseControle de fluxo

Define cada um dos valores possíveis testados dentro de um switch.

switch (dia) { case 1: System.out.println("Domingo"); break; }
catchExceções

Captura e trata uma exceção lançada dentro do bloco try correspondente.

try { ler(); } catch (IOException e) { e.printStackTrace(); }
charTipo primitivo

Tipo primitivo que guarda um único caractere Unicode de 16 bits.

char inicial = 'J';
classOrientação a objetos

Declara uma classe, o molde que define os atributos e métodos dos objetos.

public class Pessoa { String nome; }
constReservada não utilizada

Palavra reservada pela linguagem, mas sem nenhuma função: não pode ser usada como identificador. Para constantes usa-se final.

// inválido: const int X = 10;  →  correto: final int X = 10;
continueControle de fluxo

Pula o restante da iteração atual do laço e segue direto para a próxima.

for (int i = 0; i < 10; i++) { if (i % 2 == 0) continue; }
defaultControle de fluxo

Define o caso padrão de um switch quando nenhum case combina; também marca um método com implementação padrão em uma interface.

switch (x) { default: System.out.println("outro"); }
doControle de fluxo

Inicia o laço do-while, que executa o bloco pelo menos uma vez antes de testar a condição.

do { i++; } while (i < 10);
doubleTipo primitivo

Tipo primitivo de ponto flutuante com 64 bits e dupla precisão.

double preco = 19.99;
elseControle de fluxo

Define o bloco executado quando a condição do if é falsa.

if (idade >= 18) votar(); else aguardar();
enumOrientação a objetos

Declara um tipo enumerado: um conjunto fixo e nomeado de constantes.

enum Cor { VERMELHO, VERDE, AZUL }
extendsOrientação a objetos

Indica que uma classe herda de outra (ou que uma interface estende outra interface).

class Cachorro extends Animal { }
falseLiteral

Literal booleano que representa o valor lógico falso. É reservado, mas não é uma palavra-chave comum.

boolean encontrado = false;
finalModificador

Impede alterações: variável vira constante, método não pode ser sobrescrito e classe não pode ser herdada.

final double PI = 3.14159;
finallyExceções

Bloco executado sempre depois do try, com ou sem exceção. Usado para liberar recursos.

try { usar(); } finally { fechar(); }
floatTipo primitivo

Tipo primitivo de ponto flutuante com 32 bits e precisão simples.

float altura = 1.75f;
forControle de fluxo

Cria um laço de repetição com inicialização, condição e incremento (ou percorre uma coleção, no formato for-each).

for (int i = 0; i < 10; i++) { }
gotoReservada não utilizada

Palavra reservada pela linguagem, mas sem nenhuma função: Java não possui desvio incondicional. Use break ou continue com rótulo.

// inválido: goto fim;  →  correto: break rotulo;
ifControle de fluxo

Executa um bloco de código apenas quando a condição booleana for verdadeira.

if (saldo > 0) { sacar(); }
implementsOrientação a objetos

Indica que uma classe se compromete a implementar os métodos de uma ou mais interfaces.

class Item implements Comparable<Item> { }
importPacotes e módulos

Traz classes ou membros estáticos de outro pacote para o arquivo, evitando escrever o nome completo.

import java.util.ArrayList;
instanceofOrientação a objetos

Operador que testa se um objeto é de determinado tipo, devolvendo true ou false.

if (obj instanceof String s) { System.out.println(s.length()); }
intTipo primitivo

Tipo primitivo inteiro de 32 bits com sinal, de -2.147.483.648 a 2.147.483.647.

int contador = 0;
interfaceOrientação a objetos

Declara um contrato com métodos que as classes implementadoras devem fornecer.

interface Veiculo { void acelerar(); }
longTipo primitivo

Tipo primitivo inteiro de 64 bits com sinal, para números muito grandes.

long populacao = 8000000000L;
nativeModificador

Marca um método implementado em código nativo (C/C++) e acessado através da JNI.

public native void desenhar();
newOrientação a objetos

Cria uma nova instância de uma classe ou um novo array, alocando memória e chamando o construtor.

Pessoa p = new Pessoa();
nullLiteral

Literal que representa a ausência de referência: a variável não aponta para objeto nenhum.

String nome = null;
packagePacotes e módulos

Declara a qual pacote a classe pertence; deve ser a primeira instrução do arquivo.

package br.edu.modelo;
privateModificador

Modificador de acesso mais restritivo: o membro só é visível dentro da própria classe.

private String senha;
protectedModificador

Modificador de acesso que libera o membro para o mesmo pacote e para as subclasses.

protected int idade;
publicModificador

Modificador de acesso mais aberto: o membro é visível de qualquer lugar do programa.

public void salvar() { }
returnControle de fluxo

Encerra o método e, opcionalmente, devolve um valor para quem o chamou.

return total * 1.1;
shortTipo primitivo

Tipo primitivo inteiro de 16 bits com sinal, de -32.768 a 32.767.

short ano = 2026;
staticModificador

Faz o membro pertencer à classe, e não a cada objeto, sendo compartilhado por todas as instâncias.

public static void main(String[] args) { }
strictfpModificador

Força os cálculos de ponto flutuante a seguirem o padrão IEEE 754, garantindo o mesmo resultado em qualquer plataforma.

public strictfp class Calculo { }
superOrientação a objetos

Referência à superclasse: chama o construtor ou acessa membros da classe-mãe.

super.emitirSom();
switchControle de fluxo

Escolhe entre vários caminhos comparando uma expressão com diversos valores (case).

switch (opcao) { case 1: sacar(); break; default: sair(); }
synchronizedConcorrência

Garante que apenas uma thread execute o bloco ou método por vez, evitando condições de corrida.

public synchronized void depositar(double v) { }
thisOrientação a objetos

Referência ao próprio objeto atual; também serve para chamar outro construtor da mesma classe.

this.nome = nome;
throwExceções

Lança explicitamente uma exceção a partir do ponto atual do código.

throw new IllegalArgumentException("valor inválido");
throwsExceções

Declara na assinatura do método quais exceções verificadas ele pode propagar.

public void ler() throws IOException { }
transientModificador

Marca um atributo que deve ser ignorado na serialização do objeto.

private transient String senha;
trueLiteral

Literal booleano que representa o valor lógico verdadeiro. É reservado, mas não é uma palavra-chave comum.

boolean ligado = true;
tryExceções

Abre um bloco monitorado onde exceções podem ocorrer e ser capturadas por catch ou finally.

try { dividir(10, 0); } catch (ArithmeticException e) { }
voidModificador

Indica que o método não devolve nenhum valor.

public void imprimir() { System.out.println("oi"); }
volatileConcorrência

Garante que a variável seja sempre lida e escrita na memória principal, tornando-a visível a todas as threads.

private volatile boolean rodando = true;
whileControle de fluxo

Repete um bloco enquanto a condição for verdadeira, testando antes de cada execução.

while (i < 10) { i++; }