Existem 51 palavra-chave em java, que possuem significados muito específicos e não podem ser usadas como identificadores no código da aplicação. Além disso, 16 palavras-chave contextuais são tratadas como palavras-chave quando encontradas em um contexto específico. Os programadores não devem usar essas palavras-chave para nada além do que deveriam ser.
O que é uma palavra-chave em Java?
O compilador reconhece as palavras-chave em java, como palavras reservadas predefinidas que possuem um significado muito específico. Não é possível utilizá-las como variáveis, métodos, classes ou quaisquer outros identificadores.
Na instrução a seguir, int é uma palavra-chave que indica que a variável idade é do tipo inteiro (inteiro complemento de dois com sinal de 32 bits). Não podemos usar int como nome de variável, etc. Usar palavras-chave como identificadores resultará em erros de compilação .
int idade;
- As palavras-chave const e goto são reservadas, embora não sejam usadas atualmente.
- true, false, e null podem parecer palavras-chave, mas são literais; não podemos usá-los como identificadores em nossos programas.
- strictfp foi adicionado no JDK 1.2.
- assert foi adicionado no JDK 1.4.
- enum foi adicionado no JDK 1.5.
- Versões posteriores de recursos como classes seladas, registros e JPMS adicionaram mais algumas palavras-chave contextuais.
Posts recentes
Palavra-chave em Java
As 51 palavras, que sao palavra-chave em java, a seguir não podem ser usadas como identificadores.
Palavra-chave | Descrição |
abstract | Usado com classes e métodos. Uma classe abstrata não pode ser instanciada. Um método abstrato está incompleto sem o corpo e deve ser implementado na classe filha para criar uma instância da classe filha. |
assert | nos permite testar as suposições sobre nosso programa. |
boolean | representa apenas um dos dois valores possíveis, ou seja, ou true ou false. |
break | é usado para encerrar for, while ou do-while loop. Também pode ser usado para encerrar uma switch instrução. |
byte | pode armazenar números inteiros de -128 e 127. |
case | representa um bloco de código em instruções switch . |
catch | segue o bloco try e lida com as exceções verificadas lançadas pelo bloco try e quaisquer possíveis exceções não verificadas. |
char | usado para armazenar um único caractere. |
class | define uma classe. |
const | é uma palavra-chave reservada para valores constantes. Use final em vez disso. |
continue | pula a iteração atual de um loop for , while ou do-while e salta para a próxima iteração. |
default | usado para especificar o bloco padrão em uma instrução switch e métodos padrão em interfaces funcionais. |
do | usado para conter as instruções a serem executadas repetidamente até que a condição na instrução while seja verdadeira . |
double | usado para declarar uma variável que pode conter números de ponto flutuante de 64 bits. |
else | usado para indicar os ramos alternativos em uma instrução if . |
enum | é um tipo cujos campos consistem em um conjunto fixo de constantes. |
extends | usado para estender uma classe. |
final | usado com variáveis de classe, métodos ou classes. Uma variável final não pode receber outro valor após ter sido inicializada. Um método final não pode ser substituído na classe filha. Nenhuma classe pode subclassificar uma classe final . |
finally | contém código a ser executado sempre que um bloco try-catch for concluído – com ou sem erros. |
float | usado para declarar uma variável que pode conter um número de ponto flutuante de 32 bits. |
for | inicie um loop para executar um conjunto de instruções repetidamente quando uma condição for verdadeira . Se o número de iterações for conhecido, é recomendado usar o loop for . |
goto | Atualmente, não está em uso. |
if | usado para escrever declarações condicionais. |
implements | usado para implementar uma interface. |
import | importe um pacote, classe ou interface para a classe atual. |
instanceof | Verifica se um objeto é uma instância de uma classe ou interface específica. |
int | usado para armazenar um valor inteiro de 32 bits. |
interface | declara uma interface. |
long | usado para armazenar um valor inteiro de 64 bits. |
native | indica código nativo (específico da plataforma). |
new | cria um novo objeto da classe especificada. |
package | declara um pacote para armazenar as classes relacionadas. |
private | modificador de acesso para indicar que um método ou variável pode ser acessado apenas na classe em que é declarado. |
protected | modificador de acesso para indicar que uma classe, método ou variável pode ser acessada apenas no pacote atual ou herdada fora do pacote atual. |
public | modificador de acesso para indicar que uma classe, método ou variável está acessível em qualquer lugar. |
return | usado para retornar de um método quando sua execução for concluída. |
short | usado para armazenar um valor inteiro de 16 bits. |
static | indica que uma variável ou método pertence ao objeto da classe , não às instâncias individuais dessa classe. |
strictfp | usado para restringir os cálculos de ponto flutuante para garantir a portabilidade. |
super | usado para se referir a objetos de classe pai. |
switch | ajuda no fornecimento de vários caminhos de execução possíveis para um programa. |
synchronized | marca um bloco ou método como uma seção crítica onde um e apenas um thread está sendo executado por vez. |
this | usado para se referir ao objeto atual. |
throw | usado para lançar explicitamente uma exceção de um método ou construtor. |
throws | usado para declarar a lista de exceções que podem ser lançadas por aquele método ou construtor. |
transient | usado em atributos/variáveis de classe para indicar que o processo de serialização desta classe deve ignorar tais variáveis. |
try | contém o código do aplicativo que deverá funcionar em condições normais. |
void | especifica que um método não deve ter um valor de retorno. |
volatile | indica que um atributo não é armazenado em cache localmente e é sempre lido na “memória principal”. |
while | executa continuamente um bloco de instruções até que uma condição específica seja avaliada como verdadeira |
_ (Underscore) | adicionado no Java 9, para evitar a gravação de sublinhados como um lambda, método ou parâmetro formal de captura não utilizado. |
Palavras-chave contextuais
Dependendo do contexto em que aparecem, podemos interpretar as 16 palavras a seguir como palavras-chave ou outros tokens.
Palavra-chave | Descrição |
exports | usado para importar e exportar os módulos. |
module | usado para declarar módulos. |
non-sealed | usado para definir classes e interfaces seladas. |
open | usado para declarar módulos. |
opens | usado para importar e exportar os módulos. |
permits | usado para definir classes e interfaces seladas. |
provides | usado para importar e exportar os módulos. |
record | usado para definir novos |
requires | usado para importar e exportar os módulos. |
sealed | usado para definir classes e interfaces seladas. |
to | usado para importar e exportar os módulos. |
transitive | reconhecido como um terminal em um RequiresModifier . |
uses | usado para importar e exportar os módulos. |
var | usado para inferir tipos de variáveis locais. |
with | usado para importar e exportar os módulos. |
yield | usado para gerar um valor em uma instrução switch . |
- Declarar módulos: No Java, usamos os module e open para declarar módulos.
- Importar e exportar módulos: No Java, utilizamos exports, opens, provides, requires, to, uses e with para importar e exportar os módulos.
- Terminal em um RequiresModifier: Reconhecemos o transitive como um terminal em um RequiresModifier.
- Inferir tipos de variáveis locais: No Java, usamos var para inferir tipos de variáveis locais.
- Gerar um valor em uma instrução switch: Utilizamos yield para gerar um valor em uma instrução switch.
- Definir novos tipos de registro: Em Java, empregamos record para definir novos tipos de registro.
- Definir classes e interfaces seladas: No Java, usamos non-sealed, permits e sealed para definir classes e interfaces seladas.
Não é possível aprender sobre todas as palavras-chave em uma única página. Aprenderemos sobre cada palavra-chave Java em seu tutorial dedicado.