La récursion en Java est essentiellement l'appel de fonction lui-même. Cet appel peut être réalisé par appel direct ou appel indirect. Un exemple typique de récursion est le calcul factoriel, qui est effectué en s'appelant à plusieurs reprises jusqu'à ce qu'une condition de terminaison soit atteinte. Un autre exemple pratique consiste à générer la séquence de Fibonacci, qui est calculée en s'appelant indirectement et en renvoyant la somme des deux premiers nombres.
L'essence des appels récursifs dans les fonctions Java
La récursion, en informatique, fait référence au processus d'une fonction s'appelant elle-même au sein d'une fonction. En Java, les fonctions récursives sont implémentées en s'appelant elles-mêmes.
L'essence de la récursion
L'essence de la récursion est qu'une fonction s'appelle elle-même. Cet appel peut être effectué de deux manières :
Exemple récursif
Voici un exemple de fonction Java qui calcule la factorielle :
public static int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } }
Dans cet exemple, la fonction factorial
s'appelle directement pour calculer la factorielle. Lorsque n
est égal à 0, la récursion s'arrête et 1 est renvoyé. Sinon, la récursion continue, renvoyant n
fois la factorielle de n-1
, et ainsi de suite jusqu'à ce que n
soit égal à 0. factorial
函数直接调用自身来计算阶乘。当 n
等于 0 时,递归停止,返回 1。否则,递归继续,返回 n
乘以 n-1
的阶乘,以此类推,直到 n
等于 0。
实战案例:斐波那契数列
斐波那契数列是一个由以下法则定义的数列:
我们可以使用递归来计算斐波那契数列:
public static int fib(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fib(n - 1) + fib(n - 2); } }
在该示例中,fib
函数通过间接调用自身并返回前两个斐波那契数的和来计算斐波那契数。当 n
等于 0 或 1 时,递归停止,返回相应的值。否则,递归继续,返回 n-1
和 n-2
fib
est calculée en s'appelant indirectement et en renvoyant la somme des deux premiers nombres de Fibonacci Nombres de Fibonacci. Lorsque n
est égal à 0 ou 1, la récursion s'arrête et la valeur correspondante est renvoyée. Sinon, la récursion continue, renvoyant la somme des nombres de Fibonacci de n-1
et n-2
. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!