JAVA基础--递归
递归
- 递归即调用自身,递归是使用栈来实现;深度越大占用的空间内存就越多
- 能不用递归就不用递归,在基数较小的情况下可以使用,便于快速解决问题
递归结构的两个部分
- 递归头:什么时候不调用自身方法。如果没有头将陷入死循环
- 递归体:什么时候需要调用自身方法
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = 0;
//输入n的值
System.out.print("请输入n的值:");
if(scanner.hasNextInt()){
n = scanner.nextInt();//获取一个int型数据
}
//调用Fac方法求阶层
System.out.println(n+"!="+ Fac(n));
}
//求n!的方法 3*2*1
public static int Fac(int x){
int value = 0;
//0的阶乘为1
if(x == 0 || x == 1){
value = 1;
}
else {
value =x * Fac(x-1);
}
return value;
}
}
运行结果如下: