Esta escritura presenta una comprensión profunda de los siguientes conceptos relacionados con la recursión de Java:
Entonces empecemos!
¿Qué es la recursión en Java?
Por lo general, somos testigos de una función que llama a alguna otra función o funciones. Sin embargo, una función recursiva se llama a sí misma repetidamente. Los fragmentos dados a continuación retratan cómo un método normal difiere de un método recursivo.
Sintaxis básica de la función normal
Public Void FirstFunction ()El fragmento anterior muestra cómo se ve una función normal definida por el usuario i.mi. tiene pocas declaraciones (código) y llama a una función nombrada Secondfunction ().
Sintaxis básica de la función recursiva
Ahora echemos un vistazo al fragmento dado a continuación para comprender cómo se ve una función recursiva:
Public Void FirstFunction ()Considere la figura dada a continuación para comprender cómo funcionará la función recursiva anterior:
La figura anterior muestra que la función se llama continuamente yo.mi. Se produce un escenario de bucle infinito. Ahora debe preguntarse si la función se hace llamar continuamente, ¿cómo se detendrá?? Bien! Tenemos que definir los criterios de terminación para detener dicha función en algún momento.
Condición de detención/terminación
Por ahora, está claro que debe haber una condición que controle el flujo de la función recursiva. En términos programáticos, la condición que detiene la función para llamar a sí misma se conoce como la condición de detención o caso base.
La sintaxis de la función recursiva con la condición de detención se verá algo así:
public void functionName ()La condición de detención puede ser cualquier condición dependiendo de las diferentes circunstancias.
Ejemplos de recursión de Java
Esta sección proporcionará una comprensión detallada de cómo funciona la función recursiva con el caso base en Java.
Ejemplo
El fragmento dado a continuación toma un número del usuario y encuentra el factorial de ese número:
clase pública FactorialClassEn el fragmento de código anterior, la condición if-else se usa para detener la recursión cuando "num" se vuelve igual a "0".
public static void main (string [] args)En el método principal, estamos obteniendo el número del usuario, verificando que el número es válido o no, y si el número es válido, llame al findFactorial () método. Todo el código generará la siguiente salida:
La salida autentica la función recursiva funciona correctamente y ha calculado el factorial de 6 correctamente.
Conclusión
En Java, un proceso en el que una función se llama a sí misma una y otra vez, se llama función/método recursivo mientras que todo el proceso se conoce como recursión. Se debe definir una base de base/detención en las funciones recursivas para detener la recursión en otro momento, de lo contrario, la función nunca se detendrá y se llama a sí mismo un número ilimitado de veces. Este artículo elabora lo que es la recursión, la diferencia entre la función normal y recursiva, y cómo crear funciones recursivas en Java.