递归

就是方法定义本身调用方法本身的现象叫做递归
注意了!!注意了!!!

StringBuffer.append().append().append(),这个不叫作递归,这个叫做方法的连续使用
Math.max(Math.max(a,b),c),这个也不叫做递归,这玩意叫方法的嵌套使用

举例:

大家伙小时都应该都听过这个故事吧:
从前有座山,山上有座庙,庙里有个老和尚和小和尚说
从前有座山,山上有座庙,庙里有个老和尚和小和尚说
从前有座山,山上有座庙,庙里有个老和尚和小和尚说

那这个故事什么时候会截至呢,就是老和尚圆寂了,小和尚还俗了,故事也就到此为止了,故事停止的条件可以理解成递归的结束条件,也就是递归的出口。

递归的注意事项

1、递归一定要有一个出口,结束条件,否则!!!!就会变成死循环
2、递归的次数不能太多,不然就会发生内存溢出异常
3、构造方法不能使用递归

public class FileDemo {public static void show(int i) {//第一步,定义一个结束的条件!!!!if ((i<0)) {System.out.println("循环结束");}else {System.out.println(i);show(--i);}}public static void main(String[] args) {show(120);}
}

运行效果截图

递归-----从前有座山,山里有座庙,庙里有个老和尚和小和尚说.....相关推荐

  1. 百钱百鸡和从前有座山,山里有座庙

    通过百钱百鸡和和尚馒头问题掌握for-while package arithmetic; /*** 相关算法案例* 1.百钱百鸡问题* 2.和尚和馒头问题** @author sunRainAmazi ...

  2. 从前有座山,山里有座庙

    来自知乎:https://www.zhihu.com/question/36242099 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:兔尾巴老李 链接:https:/ ...

  3. 从前有座山,山里有座庙:递归之法

    递归描述 递归调用是函数内部调用自身的过程,递归必须要有结束条件,否则会进入无限递归状态.无法停止. 我们称这个条件为(递归基) 递归原理 递归包括(递推)和(回归),递推是指将原问题不断分解为子问题 ...

  4. 从前,有座山,山里有座庙,庙里有苦逼IT

    一个和尚挑水吃.两个和尚抬水吃.三个和尚没水吃. 总寺的方丈大人得知情况后,就派来了一名主持和一名书记,共同负责解决这一问题.主持上任后,发现问题的关键是管理不到位,于是就招聘一些和尚成立了寺庙管理部 ...

  5. 算法图解-终极版-递归-从前有座山

    递归 到底递归是如何执行的, 首先递归用到的是有限的存储空间, 在ram上存储, 另外, 递归,是对内存空间的重读使用, 图解只是为了方面理解, 但递归是有数量限制的, 不能像迭代那样, 可以无限多的 ...

  6. 玩转 Jasper Report(1) Jaspersoft Studio 安装使用教程

    文章目录 1 摘要 2 Jaspersoft Studio 下载安装 3 导出PDF的完整示例 4 当前示例的 jasper 源码 5 推荐参考资料 1 摘要 Jasper Report 作为一个老牌 ...

  7. Java中的异常和递归

    (一)HashMap (1)HashMap集合本身基于哈希表 它可以保证键的唯一性(Map都是针对键有效) HashMap<String,String> String:人的ID编号 Str ...

  8. JavaSE 第三章 流程控制语句方法定义 笔记

    文章目录 3.1 语句 3.2 顺序结构 3.3 输入输出语句 3.3.1 常见的输出语句 3.3.2 输入语句 3.4 分支语句 3.4.1单分支条件判断:if 3.4.2 双分支条件判断:if.. ...

  9. C语言函数之递归调用

    提示:本文主要是掌握函数的递归 函数递归 前言 什么是递归 递归的两个必要条件 递归与迭代的关系 递归函数的优缺点 什么时候使用递归 总结 前言 函数是学习C语言的最重要知识点之一,要学好这门编程语言 ...

最新文章

  1. Ubuntu13.10下搭建emacs+sbcl+slime的lisp开发环境
  2. XmlSerializer 对象序列化成XML 自定义编码格式(gb2312)
  3. asp单元格合并后宽度没有合并_ElementUI Table组件如何使用合并行或列功能深入解析...
  4. Codeforces Round #777 (Div. 2)【未完结】
  5. springmvc atomikos mysql数据源_springboot+atomikos+多数据源管理事务(mysql 8.0)
  6. python print 换行_Python学习 | Python的基础语法
  7. [poj2446]Chessboard
  8. 如何创造出更优秀的用户体验?
  9. 前端之 BOM 和 DOM
  10. Silverlight与Asp.net之间的调用及参数传递
  11. C#泛型学习实例(简单易懂)
  12. 读完 Effective Java,我整理这 59 条技巧!
  13. 安装Visual Studio 2013以及简单使用
  14. 阿里云生成SSH秘钥对,使用SCRT登录阿里云服务器
  15. python遍历文件夹下所有文件
  16. Markdown语法中使用表情符号
  17. Android打开pdf文件
  18. windows 生成ssh 密钥
  19. 超全超详细的安装nvidia显卡驱动教程
  20. 谷歌seo外链发布50+个网站平台分享(e6zzseo)

热门文章

  1. Three.js介绍
  2. 辰皇怎么过鸿蒙,抢《诛仙2·末日与曙光》百级金身法身
  3. 【Datawhale202208《吴军计算之魂》】
  4. 2020软考 信息安全工程师(第二版)学习总结【一】
  5. Springboot+vue 外卖订餐餐饮管理系统#毕业设计
  6. 上线五个多月,Temu遭受太多非议?
  7. RTK点放样用CORS有多简便?附全流程
  8. OO ALV 自定义F4检索帮助
  9. CentOS 8.0 安装docker 报错:Problem package docker-ce-3 19.03.4-3.el7.x86_64 require
  10. java jstack使用_java jstack命令