递归是一种非常重要的算法思想,递归,在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。简单来说,递归表现为函数调用函数本身
public static void main(String[] args) {
//循环求和
//System.out.println(getnumdigui(1,3));
//递归求和
System.out.println(getnumdigui(1,3));
}
//循环求和
private static int getnum(int start, int end){
int q =0;
for (int i = 0; i <=end ; i++) {
q=q+i;
}
return q;
}
//递归求和
private static int getnumdigui(int start, int end){
if (start==end){
return end;
}
return start+getnumdigui(start+1,end);
}
当然在一些项目里我们也是可以用到递归的,我自己呢就是在查询部门构建部门树时最常用递归
从以上方法我们可发现,递归通俗理解就是自己调自己,当然在自己掉自己的前提之下需要设置终止跳出条件
终止条件:递归必须有一个终止的条件,即不能无限循环地调用本身。
自身调用:原问题可以分解为子问题,子问题和原问题的求解方法是一致的,即都是调用自身的同一个函数