Java besitzt zwei Datentypkategorien: Einfache Datentypen und
Referenzdatentypen. Die ersteren umfassen Datentypen wie byte,
int, long, float, char oder boolean.
Im Beispielprogramm wird z. B. in Zeile 6 eine Integervariable
deklariert. Gleichzeitig wird hier die Variable count mit dem
Wert 0 initialisiert. Bei jeder Variablendeklaration kann eine dem
Datentyp der Variable entsprechende Initialisierung erfolgen.
Referenzdatentypen enthalten eine Referenz auf den von ihm
repräsentierten Wert. So deklariert das Beispielprogramm z. B.
eine Variable vom Referenzdatentyp, args (Zeile 3), die als
ein Feld von String-Objekten deklariert wird. Bei der Verwendung
in einer Anweisung oder in einem Ausdruck wird der Name args
zur Speicheradresse des Feldes ausgewertet. Neben Feldern sind auch Klassen
und Schnittstellen Referenzdatentypen.
Jede Variable besitzt einen Gültigkeitsbereich (scope), in dem sie
zugreifbar ist. Der Gültigkeitsbereich legt fest, wann eine Variable erzeugt
und wann sie vernichtet wird. Der Gültigkeitsbereich wird bei der
Variablendeklaration festgelegt. Je nach Deklarationsort ist der
Gültigkeitsbereich z. B. eine Methode, eine Klasse oder ein innerer
Block einer Methode.
Variablen können auch als Methodenparameter deklariert sein. Im Beispielprogramm wird z. B. in Zeile 3 der main-Methode die Variable args als Parameter übergeben.