栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

简单易懂的递归

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单易懂的递归

    递归,简单地来说就是在程序执行的时候调用自己本身,但是一定要有一个终止的条件。下面又到了子月讲故事的阶段了,想必大家都看过盗梦空间吧,这就是一个递归的体现,首先我们先对应一个要点,一重梦境下又进入二重梦境,二重梦境下又进入三重梦境。这对应的不就是程序在不断地调用本身嘛!

第二个要点,一定要有一个结束的条件,也就是递归出口。各位可还记得男主手中的陀螺图腾吗?这个对应的就是程序中的结束判断条件哦!

​
package zuoye;

public class DiGui {
public static void main(String [] args) {
	System.out.println(num(5));
}
public static int num(int n) {
	if(n == 1) {
		return n=1;
	}else {
		return n * num(n-1);
	}
}
}

​

这里大家需要注意一个问题,就是这个判断结束条件的位置。一定要写在前面,如果写在后面的话,它就会一直无限的循环调用下去。

在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递归算法设计程序。(这个就像进入的梦境层数太多,人的意识越容易出不来,也就是潜意识边缘。)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285631.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号