递归

递归

1.定义:递归就是自己调用自己。

递归结构:递归头和递归体。

递归头:规定函数不调用自己的方法,不陷入死循环。

递归体:规定函数执行自己的方法

package com.tiedandan.base;

public class recuttence {
   //递归用法
   /**
    * 1.定义:递归就是自己调用自己。
    *
    * 递归结构:递归头和递归体。
    *
    * 递归头:规定函数不调用自己的方法,不陷入死循环。
    *
    * 递归体:规定函数执行自己的方法
    */
   public static void main(String[] args) {
       System.out.println(factorial(5));

  }
   public static int factorial(int a){
//           int s=a-1;
////           int p =0;
////           s=s*a;
////           a=a-1;
////           p=p+s;
////
////           if (a!=0){
////               factorial(a);
////           }


//       return p;
       if(a==1){
           return 1;
      }
       else{
           return a*factorial(a-1);
           //f(4)到f(1)
      }
  }

}
递归开销比较大,需要慎用。
上一篇:Java求阶乘和


下一篇:把函数视为对象