A literal (§3.10) denotes a fixed, unchanging value.
The following production from §3.10 is repeated here for convenience:
Literal:
IntegerLiteral
FloatingPointLiteral
BooleanLiteral
CharacterLiteral
StringLiteral
NullLiteral
The type of a literal is determined as follows:
L or l is long; the type of any other integer literal is int.
F or f is float; the type of any other floating-point literal is double.
boolean.
char.
String.
null is the null type; its value is the null reference.
Evaluation of a literal always completes normally.