java中的递归
递归算法的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或间接的调用自己。
递归需要满足两点:
- 1)定义递归头:说白了就是条件,在什么时候不去调用了,如果没有条件,则会陷入死循环。
- 2)要有递归体:就是什么时候调用自己。
例子:100的阶乘
/** * 计算20的阶乘 */ public class Recursion { static long factorial(int n){ if(n==1) { //递归头 return 1L; } else { //递归体 return n*factorial(n-1); } } public static void main(String[] args) { long a = factorial(20); System.out.println(a); } }