递归和迭代

递归

  • 程序调用自身的编程技巧称为递归,是函数自己调用自己.
/**
     * 递归 递归的基本概念:程序调用自身的编程技巧称为递归,是函数自己调用自己.
     * @param n
     * @return
     */
    private static int recursive(int n){

        if(n == 1){
            return n;

        }else{
            return n*iteration(n-1);
        }

    }
 /**
     * 递归 文件遍历
     * @param path
     */
    private static int count = 0;

    private static void traversingFile(String path){
        File sourceFile = new File(path);
        if (sourceFile.exists()){
            if(sourceFile.isFile()){
                System.out.println(sourceFile.getParent()+"---"+sourceFile.getName());
                count ++;
            }else if(sourceFile.isDirectory()) {
                File[] files = sourceFile.listFiles();
                for (File file:files) {
                    traversingFile(file.getAbsolutePath());
                }
            }
        }else {
            System.out.println("文件不存在");
        }
        System.out.println(count);

    }

迭代

  • 利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用B.
    (结果集迭代器)
  /**
     * 迭代 利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用B.
     * @param n
     * @return
     */
    private static int iteration(int n){
        int sum = 1;
        for (int i = 2; i < n; i++){
            sum *= i;
        }
        return sum;
    }
原文地址:https://www.cnblogs.com/monkay/p/11239007.html