递归
a、要给一个出口负责结束当前的递归
b、循环次数不能太多,否则占用的内存过多,死机
条件
死循环:1.自己调用自己(方法) 2.方法之间相互调用
class recursion{
static int sum = 0;
static int i=0;
public static void run(){
sum+=i;
System.out.println(sum);
if (i++ == 100) {
return;
}
run();
}
}
实例
public class Demo11 {
public static void main(String[] args) {
int value = getValue();
System.out.println(value);
}
static int jishuji = 1,oushuji = 1,i=1;
public static int getValue(){
if (i%2==0) {
oushuji*=i;
}
if (i%2!=0) {
jishuji*=i;
}
if (i++ == 10) {
return oushuji-jishuji;
}
int a = getValue();
return a;
}
}
递归算法
public static int add(int num) {
if (num == 1) {
return 1;
}
return num+add(num-1);
}