Java方法(三)递归

Java方法(三)

递归

  1. 什么是递归:

    递归就是自己调用自己(A方法调用A方法)

  2. 递归方法就是在自己的方法里调用自己

  3. 递归组成结构:

    • 递归头:确定什么时候不调用自身方法,如果没有头,将陷入死循环
    • 递归体:确定什么时候需要调用自身方法
  4. 举例

    //计算5!(也就是5*4*3*2*1)
    public class Demo04 {
        public static void main(String[] args) {
            int x=5;
            System.out.println(f(x));
        }
        public static int f(int a){
            if(a==1){
                return a;//当a等于1时返回(不再调用f函数,避免陷入死循环)
            }else{
                return a*f(a-1);//自己调用自己,5*4*3*2*1
            }
        }
    }
    /*
      a=5时,在f(a)中:
      一、a*f(a-1)-->5*f(5-1)
      二、f(5-1)-->4*f(4-1)
      三、f(4-1)-->3*f(3-1)
      四、f(3-1)-->2*f(2-1)
      五、f(1)-->返回1
      综上:a=5时,a*f(a-1)-->a*f(5-1)-->5*4*3*2*1
    */
    //输出:
    120
    
  5. java都是使用栈机制的

  6. 能不用递归就不用递归

posted @ 2022-01-16 22:41  史小鹏  阅读(71)  评论(0)    收藏  举报