算法----递归

简单的理解就是方法自己调用自己有结束的条件,判断结束的条件一定要在调用自己方法之前

注意:递归容易发生内存溢出,除非非用不可,一般不建议使用

java实现

第一种:

public class Demo {
    public static void main(String[] args){
    	jiecheng(10);
    }
    static int y = 1;
    public static void jiecheng(int x){
    	y = y*x;
    	if(x==1){
    		System.out.print(y);
    		return;
    	}
    	x--;
    	jiecheng(x);
    }
}

第二种

public class Demo {
    public static void main(String[] args){
    	int val = jiecheng(10);
    	System.out.println(val);
    }
    public static int jiecheng(int x){
    	if(x==1){
    		return 1;
    	}
    	return x*jiecheng(--x);  //这个地方只能用--x
//    	return x*jiecheng(x-1);  //或者
    }
}

  

原文地址:https://www.cnblogs.com/yanxiaoge/p/10675973.html