zoukankan      html  css  js  c++  java
  • 递归

    1    递归的概述

    递归,指在当前方法内调用自己的这种现象。

    递归分为两种,直接递归和间接递归。

    直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。

    注意:

    递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。

    在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。

    练习1:递归计算100以内的和,和斐波那契数列

    public class Demo01 {
        //递归计算1-100的和
        public static void main(String[] args) {
            System.out.println(add(6));
        }
        public static int get(int n){
            if(n==1){
                return 1;
            }
            return n+get(n-1);
        }
        //递归斐波那契数列
        public static int add(int n){
            if(n==1){
                return 1;
            }
            if(n==2){
                return 1;
            }
            return add(n-1)+add(n-2);
        }
    }

    练习2:递归遍历文件夹下所有文件

    public class FileDemo2 {
        public static void main(String[] args) {
            File file = new File("d:\test");
            getFileAll(file);
        }
        //获取指定目录以及子目录中的所有的文件
        public static void getFileAll(File file) {
            File[] files = file.listFiles();
            //遍历当前目录下的所有文件和文件夹
            for (File f : files) {
                //判断当前遍历到的是否为目录
                if(f.isDirectory()){
                    //是目录,继续获取这个目录下的所有文件和文件夹
                    getFileAll(f);
                }else{
                    //不是目录,说明当前f就是文件,那么就打印出来
                    System.out.println(f);
                }
            }
        }
    }
  • 相关阅读:
    基于.NET平台常用的框架整理
    简单的linq语法
    Newtonsoft.Json高级用法
    C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
    HTML URL 编码
    sql(SqlServer)编程基本语法
    正则表达式
    添加vs模板注释
    js实现无刷新表单提交文件,将ajax请求转换为form请求方法
    HTML5 手机端动态适配
  • 原文地址:https://www.cnblogs.com/quanjunkang/p/10654975.html
Copyright © 2011-2022 走看看