递归的使用

60 阅读1分钟

递归就是指在一个方法体中调用方法自身的形式。

**
**

使用原则:

1)、 有明确递归的规律和退出条件。

2)、 使用递归必须使问题简单化而不是复杂化。

3)、 当递归可能会影响程序的执行性能时,应当使用递推代替。

\

例如我们可以利用递归来计算指定数值的阶乘并返回。

我们知道:

5! = 5 * 4 * 3 * 2 * 1;
4! = 4 * 3 * 2 * 1;
3! = 3 * 2 * 1;
2! = 2 * 1;
1! = 1;\

于是我们推出

5!  =  5 * 4!;
4!  =  4 * 3!;
3!  =  3 * 2!;
2!  =  2 * 1!;
1!  =  1;\

\

public class TestJiecheng{

    //自定义成员方法根据参数指定的数值计算阶乘并返回
    int fa(int n){ 
 
         //递归
         if(n == 1){
             return 1;
         }
         return n * fa(n-1); //return 5*fa(4); =>return 5*4*fa(3);
         //return 5 * 4 * 3 * fa(2);   => return 5 * 4 * 3 * 2 * fa(1);
         //fa(1) = 1;
    }

    public static void main(String[] args){
  
         TestJiecheng tj = new TestJiecheng();

         int num = tj.fa(5);
         System.out.println("num = " + num); //120   
         
    }
}



\

\

\

\