递归调用是调用自身的函数,并传给自身的相应的参数,这一运算过程是一层层的进行的,直到满足一定条件时,才停止调用。

递归函数的特点

    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);}}
}

    从上面的例子中可以进一步看出递归调用的特点,调用自身函数、有终止条件。同时也能从实例中看到递归算法的优点结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。