递归
递归概述
方法定义中调用方法本身的现象
注意事项
要有出口,否则就是死递归
次数不能太多,否则就内存溢出
生活中的递归
小时候爷爷经常讲的故事:从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,讲的是什么,讲的是,从前有座山,山里有座庙,庙里有个老和尚和小和尚,老和尚给小和尚讲故事,讲的是什么,讲的是。。。。。
当然这就成了一个死循环了。。。
递归的思想
递归就是把一个大问题分解成几个小问题,小问题再分解,最后解决了小问题,大问题也就迎刃而解了。
下面我们来看递归做出5!
public static void main(String[] args) {
//用递归的思想来处理5的阶乘
int r = factorial(5);
System.out.println("结果" + r);
}
private static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
请看这段代码的内存图:
今天就分享这么多吧,大家好好学Java,Java治头秃!!!