递归指的是调用自己的函数。
每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。
构成递归需具备的条件
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
例:
private static void countdown(int i) { System.out.println(i); // base case if (i <= 0) { return; } else { countdown(i - 1); } } public static void main(String[] args) { countdown(5); }