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 mitn == 3
, und dan
nicht 0 ist, zeigt es den Wert 3 an und ruft sich dann selbst auf...Die Ausführung von
countdown
beginnt mitn == 2
, und dan
nicht 0 ist, zeigt es den Wert 2 an und ruft sich dann selbst auf...Die Ausführung von
countdown
beginnt mitn == 1
, und dan
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.