Der Umgang mit Variablen erfordert in Java besondere Sorgfalt, da man sich an verschiedene Regeln halten muss.
int | ganze Zahlen von -2 hoch 31 bis 2 hoch 31-1 |
long | ganze Zahlen von -2 hoch 63 bis 2 hoch 63-1 |
double | Dezimalzahlen mit der doppelten Genauigkeit |
boolean | kann nur die werte 1 (true) und 0 (false) annehmen |
char | Zeichen (z.B. eine Tastaturtaste) |
Datentypen "String" und "Array" sind keine Basistypen.
Vor der ersten Verwendung einer Variablen vom Basistyp muss der Name, Datentyp und Startwert zugewiesen werden. Man spricht dabei von Deklaration und Initialisierung der Variablen.
Deklaration einer Variablen macht Name und Typ der Variablen bekannt und reserviert entsprechend Platz im Speicher.
Initialisierung ordnet einer Variablen von Basistyp einen Wert zu.
Die Deklaration und Initialisierung können in einem Schritt zusammengefasst werden:
int i = 0;
double x = 3.14;
boolean ungerade = true;
Für Variablennamen gelten folgende Regeln:
Im folgenden Beispiel wird die Variable i als lokale Variable in der for-Schleife deklariert und ist nur in diesem Block sichtbar. Wenn die gleiche Variable später in der Zeile p. fillRectangle ( i, i, i + 3 , i + 3 ) ; verwendet wird, erscheint eine Fehlermeldung.
// VariablenEx1.java import ch.aplu.util.*; import java.awt.Color; class VariablenEx1 { VariablenEx1() { GPanel p = new GPanel(0, 10, 0, 10); for (int i = 0; i <= 5; i++) { p.fillRectangle(i, i, i + 1, i + 1); } p.color(Color.red); p.fillRectangle(i, i, i + 3, i + 3); // <-- Fehler } public static void main(String[] args) { new VariablenEx1(); } } |
Im Beispiel VariablenEx2.java ist der Fehler behoben. Die Variable i wird ausserhalb des for-Schleife-Blocks deklariert und ist daher auch ausserhalb dieses Blocks sichtbar.
// VariablenEx2.java import ch.aplu.util.*; import java.awt.Color; class VariablenEx2 { VariablenEx2() { GPanel p = new GPanel(0, 10, 0, 10); int i; for (i = 0; i <= 5; i++) { p.fillRectangle(i, i, i + 1, i + 1); } p.color(Color.red); p.fillRectangle(i, i, i + 3, i + 3); } public static void main(String[] args) { new VariablenEx2(); } } |