简单的理解就是方法自己调用自己有结束的条件,判断结束的条件一定要在调用自己方法之前
注意:递归容易发生内存溢出,除非非用不可,一般不建议使用
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); //或者 } }