递归

概述

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

递归的分类:
    递归分为两种,直接递归和间接递归。
    直接递归称为方法自身调用自己。
    间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。

注意事项:
    递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
    在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
    构造方法,禁止递归

递归的使用前提
    当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归

计算1~n的和
public static void main(String[] args) {
//计算1~num的和,使用递归完成
int num = 5;
// 调用求和的方法
int sum = getSum(num);
// 输出结果
System.out.println(sum);

}
/*
  通过递归算法实现.
  参数列表:int 
  返回值类型: int 
*/
public static int getSum(int num) {
  	/* 
  	   num为1时,方法返回1,
  	   相当于是方法的出口,num总有是1的情况
  	*/
	if(num == 1){
		return 1;
	}
  	/*
      num不为1时,方法返回 num +(num-1)的累和
      递归调用getSum方法
    */
	return num + getSum(num-1);
}
上一篇:借助短路运算符 递归求1 +2 + 3 + ... + n


下一篇:Redis支持五种数据类型和使用场景