递归-----从前有座山,山里有座庙,庙里有个老和尚和小和尚说.....
递归
就是方法定义本身调用方法本身的现象叫做递归
注意了!!注意了!!!
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);}
}
运行效果截图
递归-----从前有座山,山里有座庙,庙里有个老和尚和小和尚说.....相关推荐
- 百钱百鸡和从前有座山,山里有座庙
通过百钱百鸡和和尚馒头问题掌握for-while package arithmetic; /*** 相关算法案例* 1.百钱百鸡问题* 2.和尚和馒头问题** @author sunRainAmazi ...
- 从前有座山,山里有座庙
来自知乎:https://www.zhihu.com/question/36242099 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:兔尾巴老李 链接:https:/ ...
- 从前有座山,山里有座庙:递归之法
递归描述 递归调用是函数内部调用自身的过程,递归必须要有结束条件,否则会进入无限递归状态.无法停止. 我们称这个条件为(递归基) 递归原理 递归包括(递推)和(回归),递推是指将原问题不断分解为子问题 ...
- 从前,有座山,山里有座庙,庙里有苦逼IT
一个和尚挑水吃.两个和尚抬水吃.三个和尚没水吃. 总寺的方丈大人得知情况后,就派来了一名主持和一名书记,共同负责解决这一问题.主持上任后,发现问题的关键是管理不到位,于是就招聘一些和尚成立了寺庙管理部 ...
- 算法图解-终极版-递归-从前有座山
递归 到底递归是如何执行的, 首先递归用到的是有限的存储空间, 在ram上存储, 另外, 递归,是对内存空间的重读使用, 图解只是为了方面理解, 但递归是有数量限制的, 不能像迭代那样, 可以无限多的 ...
- 玩转 Jasper Report(1) Jaspersoft Studio 安装使用教程
文章目录 1 摘要 2 Jaspersoft Studio 下载安装 3 导出PDF的完整示例 4 当前示例的 jasper 源码 5 推荐参考资料 1 摘要 Jasper Report 作为一个老牌 ...
- Java中的异常和递归
(一)HashMap (1)HashMap集合本身基于哈希表 它可以保证键的唯一性(Map都是针对键有效) HashMap<String,String> String:人的ID编号 Str ...
- JavaSE 第三章 流程控制语句方法定义 笔记
文章目录 3.1 语句 3.2 顺序结构 3.3 输入输出语句 3.3.1 常见的输出语句 3.3.2 输入语句 3.4 分支语句 3.4.1单分支条件判断:if 3.4.2 双分支条件判断:if.. ...
- C语言函数之递归调用
提示:本文主要是掌握函数的递归 函数递归 前言 什么是递归 递归的两个必要条件 递归与迭代的关系 递归函数的优缺点 什么时候使用递归 总结 前言 函数是学习C语言的最重要知识点之一,要学好这门编程语言 ...
最新文章
- Ubuntu13.10下搭建emacs+sbcl+slime的lisp开发环境
- XmlSerializer 对象序列化成XML 自定义编码格式(gb2312)
- asp单元格合并后宽度没有合并_ElementUI Table组件如何使用合并行或列功能深入解析...
- Codeforces Round #777 (Div. 2)【未完结】
- springmvc atomikos mysql数据源_springboot+atomikos+多数据源管理事务(mysql 8.0)
- python print 换行_Python学习 | Python的基础语法
- [poj2446]Chessboard
- 如何创造出更优秀的用户体验?
- 前端之 BOM 和 DOM
- Silverlight与Asp.net之间的调用及参数传递
- C#泛型学习实例(简单易懂)
- 读完 Effective Java,我整理这 59 条技巧!
- 安装Visual Studio 2013以及简单使用
- 阿里云生成SSH秘钥对,使用SCRT登录阿里云服务器
- python遍历文件夹下所有文件
- Markdown语法中使用表情符号
- Android打开pdf文件
- windows 生成ssh 密钥
- 超全超详细的安装nvidia显卡驱动教程
- 谷歌seo外链发布50+个网站平台分享(e6zzseo)
热门文章
- Three.js介绍
- 辰皇怎么过鸿蒙,抢《诛仙2·末日与曙光》百级金身法身
- 【Datawhale202208《吴军计算之魂》】
- 2020软考 信息安全工程师(第二版)学习总结【一】
- Springboot+vue 外卖订餐餐饮管理系统#毕业设计
- 上线五个多月,Temu遭受太多非议?
- RTK点放样用CORS有多简便?附全流程
- OO ALV 自定义F4检索帮助
- CentOS 8.0 安装docker 报错:Problem package docker-ce-3 19.03.4-3.el7.x86_64 require
- java jstack使用_java jstack命令