Dieses Schreiben zeigt ein tiefes Verständnis der folgenden Konzepte im Zusammenhang mit der Java -Rekursion:
Also lasst uns anfangen!
Was ist Rekursion in Java
Normalerweise beobachten wir eine Funktion, die eine andere Funktion oder Funktionen aufruft. Eine rekursive Funktion ruft sich jedoch wiederholt auf. Die folgenden Snippets zeigen, wie sich eine normale Methode von einer rekursiven Methode unterscheidet.
Grundlegende Syntax der normalen Funktion
öffentliche void Firstfunction ()Das obige Snippet zeigt, wie eine normale benutzerdefinierte Funktion ich aussieht.e. Es verfügt über nur wenige Anweisungen (Code) und ruft eine Funktion namens auf Secondfunction ().
Grundlegende Syntax der rekursiven Funktion
Schauen wir uns nun das untergegebene Snippet an, um zu verstehen, wie eine rekursive Funktion aussieht:
öffentliche void Firstfunction ()Betrachten Sie die untergegebene Zahl, um zu verstehen, wie die obige rekursive Funktion funktioniert:
Die obige Abbildung zeigt, dass die Funktion sich kontinuierlich aufruft i.e. Ein unendliches Schleifenszenario tritt auf. Jetzt müssen Sie sich fragen, ob die Funktion sich ununterbrochen aufruft, wie wird sie dann aufhören? Also! Wir müssen die Terminierungskriterien definieren, um eine solche Funktion irgendwann zu stoppen.
Anstiegs-/Beendungsbedingung
Derzeit ist klar, dass es eine Bedingung geben muss, die den Fluss der rekursiven Funktion steuert. In programmatischer Hinsicht wird die Bedingung, die die Funktion zum Aufrufen von sich selbst stoppt, als die bezeichnet Stillstand oder Basisfall.
Die Syntax der rekursiven Funktion mit der stillenden Bedingung sieht ungefähr so aus:
public void FunktionName ()Die Stoppbedingung kann je nach den verschiedenen Umständen eine beliebige Bedingung sein.
Beispiele für Java -Rekursion
In diesem Abschnitt wird ein detailliertes Verständnis dafür geliefert, wie die rekursive Funktion mit dem Basisfall in Java funktioniert.
Beispiel
Das untergegebene Snippet nimmt eine Nummer vom Benutzer und findet das Faktor für diese Nummer:
öffentliche Klasse FaktorialklasseIm obigen Code-Snippet wird die IF-ELSE-Bedingung verwendet, um die Rekursion zu stoppen, wenn „Num“ gleich „0“ wird, gleich „0“.
public static void main (String [] args)In der Hauptmethode holen wir die Nummer vom Benutzer ab und überprüfen, ob entweder die Nummer gültig ist oder nicht. Wenn die Nummer gültig ist findfactorial () Methode. Der gesamte Code generiert die folgende Ausgabe:
Die Ausgabe authentifiziert, dass die rekursive Funktion ordnungsgemäß funktioniert und das Faktor von 6 korrekt berechnet hat.
Abschluss
In Java wird ein Prozess, bei dem sich eine Funktion immer wieder aufruft, als a genannt rekursive Funktion/Methode Während der gesamte Prozess als bekannt ist als Rekursion. In den rekursiven Funktionen muss ein Basis-/Stopp -Fall definiert werden. Dieses Schreiben erläutert die Rekursion, den Unterschied zwischen der normalen und rekursiven Funktion und wie rekursive Funktionen in Java erzeugen können.