递归
## 递归:方法定义时内部调用自身的现象
fun1().fun2() 这叫方法的链式调用
fun1(show1()) 这叫方法的嵌套调用
fun1(fun1()) 这叫方法的递归调用
递归举例:
1、从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 1
从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 2
从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 3
从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 4
....
结束条件:山倒了,老和尚圆寂了。
...
结束条件:挣不到钱,没有生娃...
写递归需要考虑的东西:
1、开始条件
2、出口
` 需求:使用递归实现一个数的阶乘`
点击查看代码
public class DiGuiDemo1 { //
public static void main(String[] args) {
int res = jieCheng(5);
System.out.println("5的阶乘是:" + res);
}
// 5*4*3*2*1
public static int jieCheng(int i) { ///递归需要一个int 类型的值不断的进行i--,知道满足某一个条件就终止
if (i == 1) {
return 1;
} else {
return i * jieCheng(--i);
// 5 * jieCheng(4)
// 5 * 4 * jieCheng(3)
// 5 * 4 * 3 * jieCheng(2)
// 5 * 4 * 3 * 2 * jieCheng(1)
}
}