Gültigkeitsbereich (Scope)
Der Gültigkeitsbereich oder Scope einer Variablen beschreibt, in welchem Teil des Codes die Variable sichtbar und nutzbar ist. In Java gibt es verschiedene Arten von Gültigkeitsbereichen:
- Lokaler Scope: Variablen, die innerhalb einer Methode oder eines Blocks (z.B. einer Schleife) deklariert werden.
- Klassen-Scope: Variablen, die als Instanzvariablen innerhalb einer Klasse deklariert werden.
- Globaler Scope: In Java gibt es keinen echten globalen Scope, da alles innerhalb von Klassen definiert wird.
Beispiel mit for-Schleifen
In for-Schleifen ist der Scope der Schleifenvariablen auf den Schleifenblock beschränkt. Hier ein einfaches Beispiel:
public class ScopeExample { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println("i innerhalb der Schleife: " + i); } // System.out.println(i); // Dies würde einen Fehler verursachen, da i außerhalb des Scopes ist. } }In diesem Beispiel ist die Variable
i nur innerhalb der for-Schleife sichtbar. Wenn du versuchst, i außerhalb der Schleife zu verwenden, erhältst du einen Kompilierungsfehler, weil i außerhalb ihres Gültigkeitsbereichs liegt.
Verschachtelte for-Schleifen
Auch in verschachtelten for-Schleifen hat jede Schleifenvariable ihren eigenen Scope:
public class NestedLoopExample { public static void main(String[] args) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { System.out.println("i: " + i + ", j: " + j); } } } }Hier haben
i und j jeweils ihren eigenen Scope innerhalb der jeweiligen Schleifen. Du kannst i und j außerhalb ihrer Schleifen nicht verwenden.
- Deklaration innerhalb der Schleife: Variablen, die innerhalb einer
for-Schleife deklariert werden, sind nur innerhalb dieser Schleife sichtbar. - Wiederverwendung von Variablennamen: Du kannst denselben Variablennamen in verschiedenen Schleifen verwenden, da jede Schleife ihren eigenen Scope hat.