Identifiers can be as long as you like, but use some taste. Identifiers that are too long are hard to use correctly
and actually obscure your code.
7.1.5. Keywords
Language keywords cannot be used as identifiers because they have special meaning within the language. The
following table lists the keywords (keywords marked with a are reserved but currently unused):
abstract continue for new switchassert default goto package synchronizedboolean do if private thisbreak double implements protected tHRowbyte else import public tHRowscase enum instanceof return transientcatch extends int short TRychar final interface static voidclass finally long strictfp volatileconst float native super whileAlthough they appear to be keywords, null, TRue, and false are formally literals, just like the number
12, so they do not appear in the above table. However, you cannot use null, true, or false as identifiers,
just as you cannot use 12 as an identifier. These words can be used as parts of identifiers, as in annulled,
construe, and falsehood.
7.2. Types and Literals
Every expression has a type that determines what values the expression can produce. The type of an
expression is determined by the types of values and variables used within that expression. Types are divided
into the primitive types and the reference types.
The primitive data types are:
boolean either true or falsechar 16-bit Unicode UTF-16 code unit (unsigned)byte 8-bit signed two's-complement integershort 16-bit signed two's-complement integerint 32-bit signed two's-complement integerlong 64-bit signed two's-complement integerfloat 32-bit IEEE 754 floating-point number