Java:方法的递归
- A方法调用B方法,比如main()方法调用另一个方法
- 递归:A方法调用A方法,就是自己调用自己
递归结构包含两部分:
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
package com.jiemyx.method;
public class Demo06 {
public static void main(String[] args) {
Demo06 test = new Demo06();
test.test();
}
//死循环,溢出异常,不这样使用
public void test(){
test();
}
}
package com.jiemyx.method;
public class Demo07 {
//阶乘
//2! 2*1
//3! 3*2*1
//5! 5*4*3*2*1
public static void main(String[] args) {
//f(5) => 5*f(4) => 5*4*f(3) => 5*4*3*f(2) => 5*4*3*2*f(1) => 5*4*3*2*1
System.out.println(f(5));
}
//递归,因为Java使用栈机制,数据较大时需要调用多次方法,不建议使用
public static int f(int n){
if (n==1){ //递归头
return 1;
}else { //递归体
return n*f(n-1);
}
}
}

浙公网安备 33010602011771号