Is null
is a keyword in Java?
Not according to the Java Language Specification list of keywords. On the other hand, this doesn't compile:
int null = 10;
The rules for identifiers specify that:
An identifier is an unlimited-length sequence of Java letters and Java digits, the first of which must be a Java letter. An identifier cannot have the same spelling (Unicode character sequence) as a keyword (§3.9), boolean literal (§3.10.3), or the null literal (§3.10.7).
I'm not sure what the benefit of making it not-a-keyword is, to be honest.
Not a keyword - the null literal.
an identifier (oops, no it isn't)
true and false are also literals. Java trivia: const and goto are keywords.
null is a literal, in the same sense that false, 10, and '\n' are literals. It's not a "keyword", technically, but it is a character string that is treated specially by the compiler if the compiler encounters it in a java source file.
So, no, you cannot name a variable "null". The lexical analyzer will decide that it is not an identifier.