Java方法递归
1.递归的概念
一个方法在执行过程中调用自身, 就称为 “递归”.
递归相当于数学上的 “数学归纳法”, 有一个起始条件, 然后有一个递推公式.
递归的注意点:

1.程序调用自己
2.这个递归程序一定要有一个趋近于中止的条件.
3.核心:写递归程序的时候,需要自己来推导一个递推公式.
例:
我们求 N!
起始条件: N = 1 的时候, N! 为 1. 这个起始条件相当于递归的结束条件.
递归公式: 求 N! , 直接不好求, 可以把问题转换成 N! => N * (N-1)!
代码实现:
import java.util.Scanner;
public static int fac(int n){
if(n==1){
return 1;
}
return n*fac(n-1);
}
public static void main5(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int ret = fac(N);
System.out.println(ret);
}
2.递归执行过程分析
递归的程序的执行过程不太容易理解, 要想理解清楚递归, 必须先理解清楚 “方法的执行过程”, 尤其是 “方法执行结束之后, 回到调用位置继续往下执行”.
下面我们通过一系列的代码练习来熟悉方法递归地使用.
3.练习题
练习一
题目要求
按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)
实现代码
public static void print(int n){
if(n>9){
print(n/10);
}
System.out.print(

本文深入探讨了Java中的方法递归,从概念、执行过程到多个递归编程练习,包括数字打印、求和、阶乘、斐波那契数列、汉诺塔问题和青蛙跳台阶问题。强调了递归在解决特定问题时的重要性,同时提醒在适当情况下使用循环可能更为高效。

433

被折叠的 条评论
为什么被折叠?



