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:
publicstaticvoidcountdown(intn){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
countdownbeginnt mitn == 3, und dannicht 0 ist, zeigt es den Wert 3 an und ruft sich dann selbst auf...Die Ausführung von
countdownbeginnt mitn == 2, und dannicht 0 ist, zeigt es den Wert 2 an und ruft sich dann selbst auf...Die Ausführung von
countdownbeginnt mitn == 1, und dannicht Null ist, zeigt es den Wert 1 an und ruft sich dann selbst auf...Die Ausführung ...