就像C和C ++编程语言一样,java也支持递归。递归是一个函数递归调用的过程。
就Java编程而言,递归是允许方法调用自身的过程。
考虑示例:
在此示例中,我们正在计算给定数字的阶乘。假设有一个数字5,则其阶乘将为1x2x3x4x5 =120。并且阶乘将通过递归函数进行计算。
class Factorial { //递归方法 int fact(int num) { int result; //如果/当num为1- if(num==1) return 1; //调用方法本身 result = fact(num-1) * num; return result; } } public class ExampleRecursion { public static void main(String args[]) { Factorial factMethod = new Factorial(); System.out.println("Factorial of 1 is: " + factMethod.fact(1)); System.out.println("Factorial of 2 is: " + factMethod.fact(2)); System.out.println("Factorial of 3 is: " + factMethod.fact(3)); System.out.println("Factorial of 4 is: " + factMethod.fact(4)); System.out.println("Factorial of 5 is: " + factMethod.fact(5)); } }
输出结果
Factorial of 1 is: 1 Factorial of 2 is: 2 Factorial of 3 is: 6 Factorial of 4 is: 24 Factorial of 5 is: 120