在 Java 中,递归是一种通过方法自身调用自身来解决问题的编程技术

2025-04-27ASPCMS社区 - fjmyhfvclm

在 Java 中,递归是一种通过方法自身调用自身来解决问题的编程技术。递归通常用于解决可以分解为更小子问题的问题,例如阶乘计算、斐波那契数列、树遍历等。递归的核心在于定义基准条件(Base Case)和递归条件(Recursive Case)。

递归的基本结构

基准条件:递归的终止条件,防止无限递归。

递归条件:将问题分解为更小的子问题,并调用自身。

示例 1:计算阶乘(Factorial)

阶乘是一个经典的递归问题。n! = n * (n-!,直到 n=0 或 n=1 时终止。

java

public class FactorialExample {

public static void main(String[] args) {

int n = 5;

System.out.println("Factorial of " + n + " is: " + factorial(n));

}

public static int factorial(int n) {

// 基准条件:0! 或 1! 等于 1

if (n == 0 || n == 1) {

return 1;

}

// 递归条件:n! = n * (n-1)!

return n * factorial(n - 1);

}

}

输出:

Factorial of 5 is: 120

示例 2:斐波那契数列(Fibonacci Sequence)

斐波那契数列的定义是:F(n) = F(n-1) + F(n-2),其中 F(0) = 0 和 F(1) = 1。

java

public class FibonacciExample {

public static void main(String[] args) {

int n = 10;

System.out.println("Fibonacci(" + n + ") is: " + fibonacci(

全部评论