递归调用 递归操作指的是方法自己调用自己的形式,但是在进行递归操作的时候必须满足如下的几个条件: · 必须有结束条件; · 每次调用的时候都需要改变传递的参数。 范例:完成一个1 ~ 100的累加 public class Hello { public static void main(String args[]) { int sum = 0 ; int x = 1 ; while( x <= 100 ) { sum += x ; x ++ ; } System.out.println(sum) ; } } |
几乎所有的while循环都可以改变为递归操作。 范例:递归操作 public class Hello { public static void main(String args[]) { System.out.println(add(100)) ; } public static int add(int num) { if (num == 1) { // 结束条件 return 1 ; // 不再向后继续加了 } return num + add(num - 1) ; // 修改参数内容 } // 第1次调用:return 100 + add(99); // 第2次调用:return 100 + 99 + add(98); // 倒数第2次调用:return 100 + 99 + ... + 3 + add(2) ; // 最后一次调用:return 100 + 99 + ... + 3 + 2 + 1 ; } |
对于递归操作,现在只要求可以理解这个含义即可,而在实际的工作之中,递归尽量少去使用,因为使用不当,就可能造成内存溢出。 |