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

Java-Rekursion

Java-Rekursion

In diesem Tutorial lernen Sie die rekursive Java-Funktion, ihre Vor- und Nachteile kennen.

In Java wird eine Methode, die sich selbst aufruft, als rekursive Methode bezeichnet. Und dieser Vorgang wird als Rekursion bezeichnet.

Ein Beispiel aus der physikalischen Welt wäre, zwei parallele Spiegel einander gegenüber zu platzieren. Jedes Objekt dazwischen würde rekursiv reflektiert werden.


Wie Rekursion funktioniert?

Im obigen Beispiel haben wir recurse() aufgerufen -Methode innerhalb von main Methode. (normaler Methodenaufruf). Und innerhalb der recurse()-Methode rufen wir wieder dieselbe recurse-Methode auf. Dies ist ein rekursiver Aufruf.

Um den rekursiven Aufruf zu stoppen, müssen wir einige Bedingungen innerhalb der Methode angeben. Andernfalls wird die Methode endlos aufgerufen.

Daher verwenden wir die if...else-Anweisung (oder einen ähnlichen Ansatz), um den rekursiven Aufruf innerhalb der Methode zu beenden.


Beispiel:Fakultät einer Zahl mit Rekursion

class Factorial {

    static int factorial( int n ) {
        if (n != 0)  // termination condition
            return n * factorial(n-1); // recursive call
        else
            return 1;
    }

    public static void main(String[] args) {
        int number = 4, result;
        result = factorial(number);
        System.out.println(number + " factorial = " + result);
    }
}

Ausgabe :

4 factorial = 24

Im obigen Beispiel haben wir eine Methode namens factorial() . Die factorial() wird von der main() aufgerufen Methode. mit der Nummer als Argument übergebene Variable.

Beachten Sie hier die Anweisung

return n * factorial(n-1);

Die factorial() Methode ruft sich selbst auf. Anfänglich ist der Wert von n 4 innerhalb von factorial() . Beim nächsten rekursiven Aufruf wird 3 an factorial() übergeben Methode. Dieser Vorgang wird bis n fortgesetzt ist gleich 0.

Wenn n gleich 0 ist, die if Die Anweisung gibt false zurück, daher wird 1 zurückgegeben. Schließlich wird das kumulierte Ergebnis an main() übergeben Methode.


Arbeitsweise des Fakultätsprogramms

Das folgende Bild gibt Ihnen eine bessere Vorstellung davon, wie das Fakultätsprogramm unter Verwendung von Rekursion ausgeführt wird.


Vor- und Nachteile der Rekursion

Bei einem rekursiven Aufruf werden neue Speicherplätze für Variablen auf dem Stack allokiert. Bei jedem rekursiven Aufruf werden die alten Variablen und Parameter vom Stack entfernt. Daher verbraucht die Rekursion im Allgemeinen mehr Speicher und ist im Allgemeinen langsam.

Andererseits ist eine rekursive Lösung viel einfacher und benötigt weniger Zeit zum Schreiben, Debuggen und Warten.

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


Java

  1. Java-Operatoren
  2. Java-Schnittstelle
  3. Java-Versuch-mit-Ressourcen
  4. Java-Anmerkungen
  5. Java-Anmerkungstypen
  6. String Length() Methode in Java:So finden Sie mit Beispiel
  7. Java String charAt() Methode mit Beispiel
  8. Java-String-EndsWith()-Methode mit Beispiel
  9. Java String replace(), replaceAll() und replaceFirst() Methode
  10. So kehren Sie eine Zeichenfolge in Java mithilfe von Rekursion um