递归就是自己调用自己的方法就称之为递归;
递归有时候相当于for循环,for循环可以做的递归也可以做但是,递归可以做的for循环不可以做;
关于for循环的累加代码
public class Test {
public static void main(String[] args) {
int n=aa(1, 3);
System.out.println(n);
}
public static int aa(int start,int end){
//如果传入的是start>end那么就返回-1
if (start>end){
return -1;
}
//定义一个变量用计算结果
int a=0;
//执行内容位如果i<end那么就i++,并执行aa=aa+1,否则返回结果值
for (int i=start;i<=end;i++){
a +=i;//就相当于aa=aa+i
}
return a;
}
}
使用递归进行累加
public class Test {
public static void main(String[] args) {
int m=digui(1,3);
System.out.println(m);
}
public static int sum_recursion(int start,int end) {
//如果不加此判断递归将会永无止境的掉下去,会报错;
if (start == end) {
return end;
}
/*每次递归必须有出口,每次递归必须缩小范围,只有这样才能达到出口范围
**/
return start + sum_recursion(start + 1, end);
}
递归的调用过程