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方法输出
*/
}
posted @ 2021-07-18 16:21  玄斯辰  阅读(54)  评论(0)    收藏  举报