例子:
我们实现可以有2种方法:
public class Demo1 { public static void main(String[] args) { int n = 1000; long startTime = System.currentTimeMillis(); System.out.println(startTime); getN1(n); long endTime = System.currentTimeMillis(); System.out.println(startTime); System.out.println(endTime - startTime); System.out.println("------"); long startTime2 = System.currentTimeMillis(); System.out.println("startTime2=="+startTime2); getN2(n); long endTime2 = System.currentTimeMillis(); System.out.println(endTime2); System.out.println(endTime2 - startTime2); } //方式1: 循环方式打印 private static void getN1(int n) { for (int i=1;i<=n; i++){ System.out.println(i); } } //方式2: 递归 private static void getN2(int n){ if(n > 0){ getN2(n -1); System.out.println(n); } } }
运行发现:
这说明,递归虽然代码显得简洁明了,但是计算机不是很喜欢,数字很大的时候,还没来得及打印,计算机的占用空间就爆了。
同时,这个例子说明:
完