zoukankan      html  css  js  c++  java
  • 递归

    Java中递归指的是方法自身调用自身

    递归的结构

    递归通常由两部分组成

      递归头:规定什么时候不调用自身方法。

      递归体:规定以怎样的形式调用自身方法。

    构建及运行过程

      设立边界条件:什么情况下不能调用自身方法,即递归头的构建

      前阶段:从跳出边界条件持续调用自身方法直至符合边界条件

      返回阶段:从最内层调用方法的结果依次返回至上一层递归直至最外层  

    以用递归求得5的阶乘为例

    public static void main(String[] args){
       int r=f(5);
       System.out.println(r);
    }
    public static int f(int i){
        if(i==1)
            return 1;
        else
            return i*f(i-1);
    }

     注意事项

    递归于程序员而言非常简便。

    但是由于Java的栈机制(即递归项会储存于栈中),如果递归次数过多,如上述求整数阶乘,如果这个数是1000那么很可能会导致栈溢出错误(StackOverFlow)

    因此,在同等难度下并不推荐递归的使用。

  • 相关阅读:
    Java内存区域
    spring学习之Bean
    记一次日本公司的Java面试
    java中打印输出数组内容的三种方式
    Java创建子类时构造器执行顺序
    转发&重定向
    Java继承
    GXOI&GZOI
    LCT能干啥???
    后缀自动机的一些应用
  • 原文地址:https://www.cnblogs.com/YuanShiRenY/p/DiGuiLearn.html
Copyright © 2011-2022 走看看