Следующие 51 ключевое слово являются зарезервированными для использования в языке Java:
_ | do | instanceof | strictfp* |
abstract | double | int | super |
assert | else | interface | switch |
boolean | enum | long | synchronized |
break | extends | native | this |
byte | final | new | throw |
case | finally | package | throws |
catch | float | private | transient |
char | for | protected | try |
class | goto | public | void |
const | if | return | volatile |
continue | implements | short | while |
default | import | static |
Ключевое слово _ (символ нижнего подчёркивания) – является ключевым словом начиная с Java 9.
Ключевые слова goto и const являются зарезервированными словами C++, но в настоящее время не используются в Java. Это даёт возможность компиляторам Java идентифицировать их и создавать улучшенные сообщения об ошибках, если они появляются в Java программах.
Буквальные значения true, false и null не являются ключевыми словами, это буквальные значения, как например 100. Тем не менее, вы не можете использовать их в качестве идентификаторов, точно также, как вы не можете использовать 100 в качестве идентификатора.
*Ключевое слово strictfp – это модификатор метода или класса, который позволяет им использовать точные вычисления с плавающей точкой. Арифметика с плавающей точкой может выполняться в одном из двух режимов: strict и nonstrict. Режим strict гарантирует, что результат вычисления будет одинаковым во всех реализациях виртуальной машины Java. Режим nonstrict позволяет сохранять промежуточные результаты вычислений в расширенном формате, отличном от стандартного формата чисел с плавающей запятой IEEE. Расширенный формат зависит от машины и позволяет быстрее выполнять код. Однако, когда вы выполняете код с использованием nonstrict режима на разных JVM, вы не всегда можете получить точно такие же результаты. По умолчанию для вычислений с плавающей запятой используется nonstrict режим. Чтобы использовать strict режим в методе или классе, добавьте ключевое слово strictfp в объявление метода или класса. С плавающей запятой strict может дать вам немного лучшую точность, чем nonstrict с плавающей запятой, но различие затронет только некоторые приложения. Точность не наследуется; то есть наличие strictfp в объявлении класса или интерфейса не приводит к тому, что расширенные классы или интерфейсы будут strict.