zoukankan      html  css  js  c++  java
  • 【JAVA SE基础篇】17.递归的讲解

    递归时一种很常见的方法,把问题简单化。

    递归的本质就是:自己调用自己。

    例1:

    public static void main(String[] args) {
    a();
    }

    static void a(){
    System.out.println("a");
    a();
    }

    最后输出会无限循环输出a,然后报错,陷入死循环,所以这不是递归。

    递归结构包括递归头和递归体

    递归头:结束自身方法的条件,或者说是结束递归的条件

    递归体:什么时候需要调用自己

    对例1进行更改,为其加入递归头和递归体

    例二:

    public static void main(String[] args) {
      a();
    }

    static int count=0;
    static void a(){
      System.out.println("a");
      count++;
      if(count<10){//递归体
        a();
      }else
        return;//递归头,这个return不是返回值,而实结束方法
    }

    最后输出10个a

    例3:

    阶乘 计算5!

    递归会使程序编写变的简单,但是同时却会占用大量的系统堆栈,内存耗用大,使用递归时,速度没有循环快、

    一般递归都是可以用循环来代替。

  • 相关阅读:
    爬取阳光问政平台
    CrawlSpider爬取腾讯招聘信息
    LinkExtractor
    镜像源列表
    screen命令总结
    PHP解决中文乱码问题
    Linux查找大文件或目录
    CentOS6/7系列防火墙管理
    删除win10冗余的服务
    解决win10安装wireshark新版本,欢迎界面卡顿情况
  • 原文地址:https://www.cnblogs.com/chengkuan/p/12874611.html
Copyright © 2011-2022 走看看