1.定义递归方法:一个方法调用自己叫方法递归调用,也可以重复执行一段代码。
2.注意事项:
1.递归方法必须有出口,否则可能会发生栈内存溢出。
2.每次递归条用必须缩小范围,才能达到出口条件。
列:求一个数据区间累加和。
代码演示如下:
public class sum_recursiondemo { public static void main(String[] args) { //调用sum int n = sum_recursion(1,100); System.out.println(n); } public static int sum_recursion(int start,int end) { //递归调用出口 if(start == end){ return end; } //每次递归调用都要缩小范围,目标才能达到出口条件 return start + sum_recursion(start+1,end); } /** * 先用循环来实现累加和 *start,end * return 累加和,-1执行失败,也可以为其他数。 */ public static int sum (int start, int end){ //参数进行合法效验 if(start>end){ return -1; } //定义变量存储 int sum = 0; for(int i=start;i<=end;i++){ sum += i; } return sum; } }