1. 递归是一种常见的算法思路,在很多算法中都会用到。比如:深度优先搜索(DFS:Depth First Search)等。
    2. 递归的基本思想就是“自己调用自己”。

    递归结构包括两个部分:

    • 定义递归头。 解决:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。
    • 递归体。 解决:什么时候需要调用自身方法。
    1. import java.util.Scanner;
    2. //递归结构
    3. public class RecursionTest {
    4. public static int factorial(int n){
    5. if(n==1){
    6. return 1;
    7. }else{
    8. return n*factorial(n-1);
    9. }
    10. }
    11. public static void main(String[] args) {
    12. long d1 = System.currentTimeMillis();
    13. Scanner scanner=new Scanner(System.in);
    14. System.out.println("请输入一个整数以求它的阶乘:");
    15. int n=scanner.nextInt();
    16. long d2 = System.currentTimeMillis();
    17. System.out.println("它的阶乘值为:"+factorial(n));
    18. System.out.println("总耗时为:"+(d2-d1));
    19. }
    20. }