递归的原理;
1.每一级的函数调用都有它自己的变量。
2.每一次函数调用都会有一次返回,并且是某一级递归返回到调用它的那一级,而不是直接返回到main()函数中的初始调用部分。
3.递归函数中,位于递归调用前的语句和各级被调函数具有相同的执行顺序。
4.递归函数中,位于递归调用后的语句的执行顺序和各个被调函数的顺序相反。
5.虽然每一级递归都有自己的变量,但是函数代码不会复制。
6.递归函数中必须包含终止递归的语句。通常递归函数会使用一个if条件语句或其他类似语句一边当函数参数达到某个特定值时结束递归调用
递归的注意事项
1、明确递归终止条件;
2、给出递归终止时的处理办法;
3、提取重复的逻辑,缩小问题规模。
import java.util.Scanner;
public class Diguijiecheng {
public static void main(String[] args) {
Diguijiecheng sc = new Diguijiecheng();
System.out.println("请输入一个正整数");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
System.out.println(sc.jie(n));//调用递归的方法,输出数值
}
int jie (int n ){
if (n ==1||n==0){//终止条件
return 1;
}else {
int sum;
sum = n*jie(n-1);//相同重复逻辑
return sum;
}
}
}