Java教程

JAVA 递归

本文主要是介绍JAVA 递归,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package 递归;

public class Demo1 {
    /**
     * 递归:A方法调用A方法,自己调用自己
     * 递归结构分为两部分:
     *  递归头:什么时候不调用自身方法,如果没有头将进入死循环
     *  递归体:什么时候需要调用自身方法

     */
    //类型 变量名= 变量值
    public static void main(String[] args) {
        System.out.println(f(5));
        //2的阶乘是1 2! 2*1(!表示阶乘的方式)
        //3! 3*2*1
        //4! 4*3*2*1
        //5! 5*4*3*2*1
    }
    public static int f(int n){//如果传入2,2不等于1传入下面的方法 2 2*f(1), 3 3*f(2)
        if (n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
    /**
     * main-f(5)-f(4)-f(3)-f(2)-f(1),尽头返(1)到底
     *  f(1)产生结果返回f(2),f(2)有结果返回f(3)有结果返回f(4)
     *  有结果返回f(5)有结果返回main,main方法输出
     */
}
这篇关于JAVA 递归的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!