Gültigkeitsbereich (Scope)

**This is an old revision of the document!**

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:

ScopeExample.java

 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:

NestedLoopExample

 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.

Wichtige Punkte

  • 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.