1. Lista de palavras

Como em qualquer linguagem de programação, Java possui palavras que possuem um significado especial. Por exemplo, returnou ifou while. Essas palavras são chamadas de palavras-chave ( keywords ) e são consideradas reservadas pela linguagem Java.

Você não pode usar essas palavras como um nome de variável, nome de método ou nome de classe. O compilador sempre os interpretará de maneira estritamente definida. Existem 54tais palavras em Java.

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

Você já conhece alguns deles, e falaremos sobre o resto agora mesmo.


2. Tipos primitivos

Como você provavelmente se lembra, Java tem 8 tipos primitivos e cada um deles tem sua própria palavra-chave:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

Se você tiver uma mente suficientemente curiosa, há uma boa chance de já ter tentado nomear uma variável int. E é claro que você não conseguiu. Isso ocorre precisamente porque os nomes de todos os tipos primitivos são palavras reservadas.

O voidtipo também se enquadra nesta categoria.


3. Loops e ramificações

Loops e branches também nos fornecem uma longa lista de palavras-chave:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

Apenas 10 palavras são suficientes para a linguagem fornecer vários tipos de loops, branches e instruções de controle para loops de interrupção ( breake continue) e múltiplos branches ( switch). Você já está familiarizado com todas essas palavras-chave.


4. Exceções

As exceções nos fornecem 5 palavras-chave:

  • try
  • catch
  • finally
  • throw
  • throws

Tudo isso faz parte de um try-catch-finallybloco. O operador para lançar exceções é throw, e a throwspalavra-chave suporta o checkedmecanismo de exceção.

A boa notícia é que você já está familiarizado com todas as palavras-chave relacionadas a exceções, portanto, também já está familiarizado com o trabalho com exceções.


5. Visibilidade

Aqui existem apenas três palavras-chave e você já está familiarizado com elas.

  • private
  • protected
  • public

publicpermite acesso a um método/variável/classe de qualquer lugar no programa.

privateproíbe que um método/variável/classe seja acessado de qualquer lugar no programa. O acesso só é permitido dentro da mesma classe como um método marcado com o privatemodificador.

protectedfunciona da mesma forma que private, mas também permite acesso a um método/variável/classe de classes herdadas. Os benefícios desse modificador ficarão mais claros para você quando você se familiarizar com OOP e herança.


6. Trabalhando com classes

Existem 11 palavras-chave nesta categoria:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

Eles podem ser divididos em 4 grupos.

O primeiro grupo diz respeito à criação das classes: class, interfacee enum. Você já aprendeu sobre como declarar classes e enums . A interfacepalavra-chave é usada para declarar ainda outro tipo de classe: interfaces.

O segundo grupo consiste nas palavras-chave package e import , com as quais você já está familiarizado. A palavra-chave package é usada para especificar o pacote de uma classe em um arquivo de classe. E importé assim que podemos usar nomes curtos de classes externas ao escrever nossas próprias classes.

As palavras-chave extendse implementssão usadas para herança. Você vai dar uma olhada neles no início da missão Java Core.

Por fim, o último grupo consiste nos modificadores static, final, defaulte abstract. Você já conhece um pouco sobre statice final. A abstractpalavra-chave é usada para tornar uma classe ou método abstrato. Você obterá mais detalhes ao estudar a herança na missão Java Core.


7. Trabalhando com objetos e variáveis

Mais seis palavras-chave são usadas ao trabalhar com objetos, métodos e variáveis.

  • new
  • instanceof
  • this
  • super
  • return
  • var(desde Java 10)

O newoperador é usado para criar novos objetos — você já sabe disso.

O instanceofoperador é usado para verificar se uma variável contém uma referência a um objeto de um tipo específico. Você já está familiarizado com ele.

A thispalavra-chave é usada para resolver problemas que surgem devido ao sombreamento de variáveis ​​e métodos de instância. Você estudou isso também.

A superpalavra-chave é análoga a this, mas é usada para se referir aos métodos e variáveis ​​da classe pai. A classe pai também é chamada de superclasse.

A returninstrução é usada para retornar o valor de um método e também para encerrar a execução de um método.

Finalmente, varserve para declarar uma variável cujo tipo é inferido automaticamente. Você já está familiarizado com isso.


8. Multithreading

No nível da sintaxe Java, o multithreading é representado por apenas duas palavras.

  • synchronized
  • volatile

Não vamos nem tocá-los. Vá para a missão Java Multithreading e, em seguida, mergulharemos nela.


9. Diversos

Existem outras 4 palavras-chave especiais:

  • native
  • transient
  • assert
  • strictfp

nativeé um modificador que pode ser escrito antes de uma declaração de método. Isso significa que o código do método não foi escrito em Java, mas em C++ e está embutido na máquina Java (bem, ou em uma DLL). Como você provavelmente já adivinhou, a própria máquina Java também é escrita em C++. Assim como muitos dos métodos de biblioteca padrão.

transienté um modificador que pode ser escrito antes das variáveis ​​de instância (campos de uma classe). Ele solicita que a máquina Java pule (ou ignore) a variável marcada enquanto serializa um objeto da classe. Você pode aprender mais sobre serialização na missão Java Collections.

asserttambém vem para Java de C++. Com sua ajuda, você pode adicionar verificações adicionais ao seu código (por exemplo, para verificar se uma variável é nula). O importante aqui é que essas verificações sejam habilitadas ou desabilitadas em tempo de compilação.

Você pode construir o projeto para testes internos, e essas verificações serão realizadas (incluídas na construção). Ou você pode desativá-los durante a compilação para criar a versão do programa que será fornecida aos usuários.

Quanto à strictfppalavra-chave e à precisão extra dos processadores Intel, temos toda uma história para você .


10. Reservado, mas não utilizado

Há também duas palavras-chave reservadas, mas não usadas.

  • const
  • goto

Eles também são um legado da linguagem C++, onde existem e são usados.


11. Não são palavras-chave

Formalmente, as constantes true, falsee nullnão são palavras-chave. Dito isso, cada um tem suas peculiaridades. Você não pode nomear um método trueou uma variável false. O compilador não entenderá esse código e não o compilará.