【java基础:递归】递归recursion!
递归:函数自身直接或者间接地调用到了自身。
那么什么时候使用递归呢?
一个功能在被重复使用,并每次使用时,参与运算的结果与上一次调用有关,此时可以用递归来解决问题。
注意:1、递归一定要明确条件,否则容易死循环,栈内存溢出。
2、一定要注意递归的次数,如果次数太多,容易导致栈内存溢出。
下面用一个简单的例子来展示递归:
package recursion;
public class RecursionDemo {
public static void main(String[] args) {
/*
* 采用递归求和的方法
*/
int num=9,sum;
sum=method_1(num);
System.out.println(sum);
//--------------------------------------------
/*
* 下面展示一个递归无限循环(直到爆内存)的例子
*/
show();//将爆出:StackOverflowError
}
public static void show() {
display();
}
public static void display() {
show();
}
public static int method_1(int num) {
if(num==1)
return 1;
return num+method_1(num-1);
}
}
还没有评论,来说两句吧...