递归

本文记录Java学习过程中遇到的递归~

递归,指在当前方法内调用自己的这种现象。

示例代码(最简单的递归):

public void method(){
	System.out.println(“递归的演示”);
	//在当前方法内调用自己
	method();
}

递归分为两种,直接递归和间接递归。

直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。

示例代码(计算1-n的和):

public class DiGuiDemo {
	public static void main(String[] args) {
		//计算1~num的和,使用递归完成
		int n = 5;
		int sum = getSum(n);
		System.out.println(sum);
		
	}
	public static int getSum(int n) {
		if(n == 1){
			return 1;
		}
		return n + getSum(n-1);
	}
}

程序流程图:

注意:

  1. 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
  2. 在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。

标签: none