用示例解释Java中的递归

就像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