Kapitel 8. Rekursive Methoden

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Bis jetzt haben wir while und for Schleifen verwendet, wenn wir etwas wiederholen wollten. Methoden, die Iterationen verwenden, nennt man iterativ. Sie sind sehr einfach, aber manchmal gibt es elegantere Lösungen.

In diesem Kapitel erkunden wir eines der magischsten Dinge, die eine Methode tun kann: sich selbst aufrufen, um eine kleinere Version desselben Problems zu lösen. Eine Methode, die sich selbst aufruft, wird rekursiv genannt.

Rekursive Void-Methoden

Betrachte das folgende Beispiel:

public static void countdown(int n) {
    if (n == 0) {
        System.out.println("Blastoff!");
    } else {
        System.out.println(n);
        countdown(n - 1);
    }
}

Der Name der Methode ist countdown; sie nimmt eine einzelne Ganzzahl als Parameter. Wenn der Parameter 0 ist, wird das Wort Blastoff angezeigt. Andernfalls zeigt sie die Zahl an und ruft sich dann selbst auf, wobei sie n - 1 als Argument übergibt.

Was passiert, wenn wir countdown(3) von main aus aufrufen?

Die Ausführung von countdown beginnt mit n == 3, und da n nicht 0 ist, zeigt es den Wert 3 an und ruft sich dann selbst auf...

Die Ausführung von countdown beginnt mit n == 2, und da n nicht 0 ist, zeigt es den Wert 2 an und ruft sich dann selbst auf...

Die Ausführung von countdown beginnt mit n == 1, und da n nicht Null ist, zeigt es den Wert 1 an und ruft sich dann selbst auf...

Die Ausführung ...

Get Think Java, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.