概念:递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。
绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。
递归执行的语句在遇到同名函数前正常执行,而其后的语句则暂时保留在内存中,待其递归后得到的子过程完全结束后才继续执行。故有规律:越是最前的函数语句,递归后越在最后执行。
public class Recusion { public static void main(String[] args) { int value = recurse(10); System.out.println(); System.out.println("return value " + value); } private static int recurse(int i) { if (i == 0) { return 0; } else { i--; recurse(i); } System.out.print(" " + i); return i; } }
//打印结果 0 1 2 3 4 5 6 7 8 9
//return value 9