标签:void 一个 情况下 star model lock 适用于 tor else
就是一个方法,自身调用自身,但递归不适用于较大数据计算,会导致计算器内存不足从而崩溃
递归包含两个部分:
递归头:什么时候不调用自身方法。如果没有递归头,就会陷入死循环。
递归体:什么时候需要调用自身方法。
递归的算法公式
package weiwei.method;
public class Demo5 {
    public static void main(String[] args) {
        System.out.println(f(5));//输出递归
    }
    
    
    
    //5!  5*4*3*2*1
    public static int f(int n){//int一个变量n
?
        if (n==1){//如果n等于1的时候,他的阶乘就是 1*1,所以结果还是为1
            return 1;//就让他直接输出1
        }else{//如果n不等于1的情况下
            /*输出n*f(n-1),加上n为5,就是5*f(5-1)  然后赋(5-1)结果不为1,就继续下去,
f(5-1)=4; f(4-1)=3; f(3-1)=2;  f(2-1)=1; 到此等于1了之后,就达到了递归的边界条件,
而1在 n==1的这个条件时,return了一个具体的值,所以1会再次返回找到f(3-1),给他赋一个具体的
值为2,2又会去给f(4-1)赋值3,这样一直赋值到5,然后5把结果输出给了main方法,这样才得以输出*/
            return n*f(n-1);
        }
    }
}
递归和阶乘一样,是一个层层递进的关系,但递归的运行顺序更麻烦,假设递归为5,就可以看做
5==n时: n* f(n-1); f(n-1); f(n-1); f(n-1)获得确定值1后再次返回输出
5* f(5-1); f(4-1); f(3-1); f(2-1)从右到左一次赋值过去,最终得到准确的值,再将值给main方法
标签:void 一个 情况下 star model lock 适用于 tor else
原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/13808104.html