zoukankan      html  css  js  c++  java
  • 递归

    递归这个东西绕了我好几次,真的是无语了,本来就是个小东西,但是容易忘记,索性记下来:

    /**
         * 递归:当前方法 内调用自己的现象
         */
        /*
         * @Test public void digui() { System.out.println("递归演示"); digui(); }
         */
        public static void main(String[] args) {
            // 计算1~num的和,使用递归完成
            int n = 5;
            int sum = getSum(n);
            System.out.println(sum);
            File dir0 = new File("g://files");
            getAllFiles(dir0);
    
        }
    
        // 示例1:输入一个数,求1-改数的所以整数的和
        public static int getSum(int n) {
            if (n == 1) {
                return 1;
            }
            return n + getSum(n - 1);
        }
    
        // 示例2:找出某个文件夹下面所有的文件并打印出其路径名称
        public static void getAllFiles(File file) {
            File f[] = file.listFiles();
            for (File fn : f) {
                if (fn.isDirectory()) {
                    getAllFiles(fn);
                } else {
    
                    System.out.println(fn);
                }
            }
        }
        /**
         * 总结:注意:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。 在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
         * 构造方法禁止递归
         */
  • 相关阅读:
    php设计模式-工厂模式(一)
    php Pthread 线程 互斥锁
    php Pthread 多线程 Worker
    PHP多进程实例
    C# this 关键字
    .NET FileStream文件流,StreamReader文本流,MemoryStream内存流几种流的实例
    深入理解Static关键字修饰符
    SQL Server 视图
    .NET初识委托
    RSA加密
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10733768.html
Copyright © 2011-2022 走看看