Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java-Rekursion: Verständnis, Beispiele und Vor-/Nachteile

Java-Rekursion

Dieser Leitfaden erklärt Javas rekursive Methoden, geht am klassischen Fakultäts-Beispiel durch und bewertet Vor- und Nachteile der Rekursion.

In Java wird eine Methode, die sich selbst aufruft, als rekursive Methode bezeichnet, und die Gesamtheit der Technik heißt Rekursion. Eine einfache Realwelt-Illustration sind zwei sich gegenüberstehende Spiegel: Jede Reflexion ist ein weiteres Spiegelbild, das sich wiederholt, bis das Licht absorbiert wird.


Wie Rekursion funktioniert

Java-Rekursion: Verständnis, Beispiele und Vor-/Nachteile

In der obigen Illustration wird die rekursiv()-Methode von main() aufgerufen – ein normaler Aufruf. Innerhalb von rekursiv() ruft dieselbe Methode sich selbst wieder auf, was einen rekursiven Aufruf erzeugt. Um endloses Schleifen zu verhindern, muss jeder rekursive Aufruf eine Abbruchbedingung enthalten, typischerweise implementiert mit einer if…else-Anweisung.


Beispiel: Fakultät einer Zahl mit Rekursion

class Fakultät { static int fakultaet(int n) { if (n != 0) // Abbruchbedingung return n * fakultaet(n - 1); // rekursiver Aufruf else return 1; } public static void main(String[] args) { int zahl = 4, ergebnis; ergebnis = fakultaet(zahl); System.out.println(zahl + " Fakultät = " + ergebnis); } }

Ausgabe:

4 Fakultät = 24

Die fakultaet()-Methode wird von main() mit dem Argument zahl aufgerufen. Innerhalb von fakultaet() bewirkt die Zeile

return n * fakultaet(n-1);
dass die Methode sich selbst mit einem dekrementierten Wert aufruft. Beginnend mit n = 4 verlaufen die Aufrufe: 4 → 3 → 2 → 1 → 0. Wenn n 0 erreicht, schlägt die if-Bedingung fehl und gibt 1 zurück. Das akkumulierte Produkt propagiert dann zurück den Aufrufstapel hinauf zu main().


Wie das Fakultäts-Programm ausgeführt wird

Das folgende Bild veranschaulicht die Entwicklung des Aufrufstapels während der Ausführung.

Java-Rekursion: Verständnis, Beispiele und Vor-/Nachteile

Vor- und Nachteile der Rekursion

Insgesamt bietet Rekursion elegante Lösungen auf Kosten höherer Speichernutzung und potenzieller Performance-Einbußen. Für viele Anwendungsfälle, besonders solche mit begrenzter Tiefe, ist der Trade-off lohnenswert.

Weiterführende Lektüre: Was sind die Vor- und Nachteile der Rekursion?

Java

  1. Java Operatoren meistern: Typen, Syntax und praktische Beispiele
  2. Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
  3. Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
  4. Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
  5. Java Annotation Types: Umfassender Leitfaden zu vordefinierten, benutzerdefinierten und Meta-Annotations
  6. Java String length() Methode: String-Länge ermitteln (Beispiel)
  7. Java String.charAt(): Syntax, Rückgabetyp, Exceptions und praktisches Beispiel
  8. Java String.endsWith(): String-Suffixe prüfen mit Beispielen
  9. Java String-Ersetzung meistern: replace(), replaceAll() und replaceFirst() erklärt
  10. String in Java mit Rekursion umkehren – Schritt-für-Schritt-Anleitung