十四、方法(递归)
递归调用是指一个方法在它的方法体内调用其自身。在递归调用中,主调方法同时也是被调方法。执行递归方法将反复调用其自身,每调用一次就再进入一次本方法。
递归调用最容易出现的问题是,如果递归调用没有退出的条件,则递归方法将无休止地调用其自身,这被称为 “无限递归”。这将就和死循环一样,会导致计算机资源被严重消耗,导致程序和电脑卡顿和崩溃。
接下来,我们试着使用递归调用计算任意整数n的阶乘。
public class Test {
static long factorial(int n){
if (n == 1){
return 1;
}
return factorial(n-1) *n;
}
public static void main(String[] args) {
System.out.println("5的阶乘为" + factorial(5));
}
}