Initialisierung von lokalen Variablen

Objektvariablen werden automatisch mit einem Null-Wert initialisiert. Bei lokalen Variablen geschieht dies nicht automatisch. Diese Initialisierung (Zuweisung eines Startwertes) muss vor der Verwendung der Variablen erfolgen. Ansonsten wird sich unser Compiler fürchterlich beschweren.

 

Ein Beispiel für Zuweisungen:

public class Main
{
    public static void main(String[] args)
    {

        int a, b, c, d;
       
        a = 0;     //der Variablen a wird der Wert 0 zugewiesen
        b = 1;     //der Variablen b wird der Wert 1 zugewiesen
        c = 2;     //der Variablen c wird der Wert 2 zugewiesen
        d = a+b+c;
       
        System.out.println("Die Summe von " + a + " + " + b + " + " + c + " = "+d);
         
    }
}

 

Das Programm berechnet die Summe aus a+b+c und gibt  "Die Summe von 0 + 1 + 2 = 3" aus.

 

Ausgabe:

Die Summe von 0+1+2=3

 

Häufige Fehler sind zum Beispiel:

int a;
a = ++a;   // Compilerfehler! a hat noch keinen Wert (++a bedeutet: erhöhe a um 1 oder a=a+1)
System.out.println("a = " +a);

 

Richtig wäre:

int a;
a = 0;
a = ++a;   // Jetzt ist es OK! a hat den Wert 0 und wird um 1 erhöht und in a gespeichert
System.out.println("a = " +a);

 

Erlaubt sind auch Zuweisungen der Form:

System.out.println( a = 12 );
a = b = c = 0;

 

Manchmal macht es Sinn, eine Variable so zu initialisieren, dass ihr Wert nachträglich im Programm nicht mehr verändert werden kann. Man spricht hier auch von symbolischen Konstanten.

Dies geschieht mit dem Schlüsselwort final.

 

Beispiel:

final int arbeitszeit = 40;

Damit wird die Variable arbeitszeit zur symbolischen Konstante und jede nachträgliche Zuweisung wie zum Beispiel

arbeitszeit = 39;

wäre unzulässig.