# nicht initialisierte Variablen



## Sonnenanbeter (22. Dez 2003)

Hallo,

wenn ich das Folgende in Java schreibe:


```
int i;
System.out.println(i);
```

dann erhalte ich vom Compiler eine Fehlermeldung:
The local variable i may not have been initialized

Das ist soweit ja auch logisch. Zwecks Fehlerabfangen würde ich jetzt aber gern vorher prüfen, ob die Variable initialisiert wurde... 

Kann mir bitte jemand sagen, wie das geht?

Vielen Dank schon mal und schöne Feiertage!


----------



## Ebenius (23. Dez 2003)

Sonnenanbeter hat gesagt.:
			
		

> Kann mir bitte jemand sagen, wie das geht?


Geht nicht. Diese Fehlermeldung bekommst Du beim Kompilieren, weil der Compiler weiß, dass die Variable nicht initialisiert wurde. Eine Variable der kein Wert zugewiesen ist kann nicht gelesen werden.

 :!: Lokale Variablen einer Methode müssen explizit initialisiert werden, Instanz- und Klassenvariablen werden jedoch (wenn nicht explizit initialisiert) implizit auf den Vorgabewert gesetzt (Referenzvariablen auf _null_, _boolean_s auf _false_, Zahlen (int, float, etc.) auf _0_ und _char_s auf '\u0000').

Es grüßt Ebenius


----------



## Samurider (23. Dez 2003)

Kannst du den Wert evtl. vorinitialisieren, z.B. mit -1 und dann auf -1 abfragen`?
Oder evtl. keinen int nehmen:

```
Integer a = null;
if (a != null) {
  System.out.println(a);
}
```


----------



## Sonnenanbeter (23. Dez 2003)

Vielen Dank für die schnelle Hilfe!

Ich hab es jetzt mit Integer gemacht und auf null geprüft...

Ist zwar etwas umständlicher als gewollt, aber wenn es nicht anders geht...

Lasst die Korken knallen!


----------

