递归调用是调用自身的函数,并传给自身的相应的参数,这一运算过程是一层层的进行的,直到满足一定条件时,才停止调用。
递归函数的特点
1.函数要直接或间接调用自身。
2.要有递归终止条件检查,即递归终止的条件被满足后,则不再调用自身函数。
3.如果不满足递归终止的条件,则调用涉及递归调用的表达式。在调用函数自身时,有关终止条件的参数要发生变化,而且需向递归终止的方向变化。
举例:
计算5的阶乘?
public class TestWudejiecheng
{
public static void main(String arg[])
{
System.out.println(f(5));
}
//递归函数
public static int f(int n)
{
if(n==1)//终止条件
{
return 1;
}
else
{
return n*f(n-1);
}
}
}
从上面的例子中可以进一步看出递归调用的特点,调用自身函数、有终止条件。同时也能从实例中看到递归算法的优点结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。