这一周的学习任务是递归思路,以下是我的一些心得。
首先是递归定义,即什么是递归。
递归分为两种,直接递归和间接递归。
直接递归称为方法自身调用自己。
间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。4
递归的一些注意事项
- 递归一定要有条件限定,保证递归能够停止下来,否则会形成死循环并发生栈内存溢出(StackOverflowError)。
- 递归中虽然限定了停止下来的条件,但是递归次数不能太多,否则也会发生栈内存溢出。
- 禁止构造方法递归。
以下是我的一段用来进行计算1到100乘阶的计算代码
public class digui { public static void main(String[] args) { System.out.println(sum(100)); } public static int sum(int n) { if (n == 1) { return 1; } else { return n + sum(n - 1); } } }
以及运行结果