java递归简单例子如何创建
原创Java递归简洁例子:计算阶乘
在编程语言中,递归是一种强势的技术,它允许函数调用自己。Java也赞成递归。下面是一个使用Java编写的基础递归例子,该例子计算给定整数的阶乘。
递归阶乘函数的实现
阶乘函数是递归的经典例子。阶乘函数的定义如下:
- n! = n * (n-1)!,当n > 1
- 0! = 1
以下是用Java实现的递归计算阶乘的代码:
public class Factorial {
// 递归计算阶乘的函数
public static long factorial(int n) {
if (n <= 1) { // 递归终止条件
return 1;
} else {
return n * factorial(n - 1); // 递归调用
}
}
public static void main(String[] args) {
int number = 5; // 需要计算阶乘的数
long result = factorial(number); // 调用递归函数
System.out.println(number + "! = " + result);
}
}
代码解释
上面的代码定义了一个名为Factorial
的类,并且包含一个静态方法factorial
。该方法接收一个整数参数n
,并且使用递归来计算其阶乘。
以下是对递归函数的逐步解释:
- 检查递归的终止条件。如果
n
小于或等于1,函数返回1,由于0的阶乘是1,也是递归调用的基础情况。 - 如果
n
大于1,函数返回n
乘以对n-1
调用同一函数的于是。
运行于是
当你运行上述代码时,它会输出以下内容:
5! = 120
这是由于5的阶乘(5!)是120。
注意
递归很强势,但是使用它需要谨慎。如果递归没有正确设置终止条件,或者递归层次太深,或许会致使栈溢出谬误。