7.1 Deklaration von Variablen
Bevor eine Variable verwendet werden kann, muss sie deklariert1 werden. Dabei werden ihr Name und ihr Typ bekanntgegeben.
Stößt der Computer während der Laufzeit eines Programms auf eine Variablendeklaration, reserviert er für die Variable Speicherplatz in seinem Arbeitsspeicher. Wird der Variablen dann ein bestimmter Wert zugewiesen, wird dieser in dem für sie reservierten Speicherbereich abgelegt. Wie groß dieser Speicherbereich ist, hängt vom jeweiligen Typ der Variablen ab.
Variablenname
Dem Namen der Variablen wird die Adresse der Speicherzelle zugeordnet, mit der der reservierte Speicherbereich beginnt. Eine Variable ist damit aus technischer Sicht lediglich eine Adresse, die zu einem zuvor reservierten Speicherplatz führt.
Datentyp
Jeder Wert gehört immer zu einem bestimmten Datentyp. Ein Datentyp beschreibt eine Menge von Werten sowie die Operationen, die auf diese Werte angewandt werden dürfen.
Zum Beispiel umfasst der Datentyp int
, eine Untermenge der ganzen Zahlen. Der genaue Wertebereich variiert je nach Rechnerarchitektur und Programmiersprache. Zulässige Operationen für den Datentyp int
sind zum Beispiel die arithmetischen Operationen Addition, Subtraktion, Multiplikation und Division.
Der Datentyp int
ist ein primitiver Datentyp, da die genaue Anzahl der erlaubten Werte bekannt ist (endliche Menge) und jeder dieser Werte nicht mehr weiter in seine Bestandteile zerlegt werden kann (atomar).
Typ | Inhalt | Speicherbedarf | Wertebereich | Beispiel |
---|---|---|---|---|
int | ganze Zahl | 4 Byte | [-2.147.483.648; 2.147.483.647] | int anzahl = 4; |
long | ganze Zahl | 8 Byte | [- 9.223.372.036.854.775.808; 9.223.372.036.854.775.807 | long anzahl = 4l; |
double3 | Gleitkommazahl | 8 Byte | [-1,7 *10308; 1,7 *10308] | double pi = 3.1415927; |
boolean | Wahrheitswert | JVM-spezifisch | [false; true] | boolean belegt = true; |
<Klassenname> | Objektreferenz | eine Referenz belegt i. d. R. 4 Byte | Verweise auf ein Objekte der jeweiligen Klasse | Roboter robi = new Roboter(); |