Skip to Content
Think Java, 2. Auflage
book

Think Java, 2. Auflage

by Allen Downey, Chris Mayfield
September 2024
Intermediate to advanced
326 pages
7h 33m
German
O'Reilly Media, Inc.
Book available
Content preview from Think Java, 2. Auflage

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

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java – die Neuerungen in Version 17 LTS, 18 und 19

Java – die Neuerungen in Version 17 LTS, 18 und 19

Michael Inden
52weeks Swift-18-type-casting

52weeks Swift-18-type-casting

Alfredo Deza, Noah Gift

Publisher Resources

ISBN: 9781098195915Supplemental Content