方法递归调用:方法自己调用自己
public class Demo {
public static void main(String[] args) {
System.out.println("sum:" + sum(100));
}
public static int sum(int num) {
if (num == 1) {
return 1;
} else {
return num + sum(num-1);
}
}
}
上面递归方法的调用就相当于是:100+99+98+97+···+3+2+sum(1),从sum方法中可以看出,
递归调用必须有一个明确的结束条件。递归调用操作不当,则可能出现内存的溢出。
public class Demo {
public static void main(String[] args) {
System.out.println("sum:" + sum(100));
}
public static int sum(int num) {
if (num == 1) {
return 1;
} else {
return num + sum(num-1);
}
}
}
上面递归方法的调用就相当于是:100+99+98+97+···+3+2+sum(1),从sum方法中可以看出,
递归调用必须有一个明确的结束条件。递归调用操作不当,则可能出现内存的溢出。