递归调用是一种方法的执行的特殊形式,指的是一个方法自己调用自己的一个操作
那么 在我们进行方法递归调用的过程之中一般我们需要两种操作
》需要设置递归操作的结束条件
》每一次执行都要去修改我们的递归数据,
实例:
public class test {
public static void main(String[] args) {//主方法
System.out.println(sum(100));
}//num描述的是累加的最大值
public static int sum(int num){
if (num==1){//结束条件
return 1;
}
return num+sum(num-1);
}
}
以上利用递归的形式实现了数据的累加操作,但是实际上这种操作的形式可以采用如下步骤分解
》第一次调用 (main()):return100+sum(99);
》第二次调用 (sum()):return100+sum(98);
………
》倒数第二次调用:(sum()):return2+sum(1)
》最后一次调用 :(sum()):return1
实际上最终结果就是:return100+98+97+96…+3+2+1;
实际的项目开发过程中,一般不建议开发者编写递归调用
如果递归处理不当 有可能发生栈溢出问题/
Comments | NOTHING