甘肃网站制作公司有哪些优化网站首页
基本介绍:递归就是方法自己调用,每次调用时传入不同的变量。递归使代码变得更加简洁。
编写一个代码列举两个小案例
1) 打印问题
2) 阶乘问题
代码如下:
import java.util.Scanner;public class Recursionone {
//编写一个 main 方法public static void main(String[] args) {Scanner myScanner=new Scanner(System.in);System.out.println("输入任意一个自然数:");int a=myScanner.nextInt();T t1 = new T();t1.test(a);//输出什么? n=2 n=3 n=4...n=aint res = t1.factorial(a);System.out.println( a+" 的阶乘 res =" + res);}
}
class T {
//分析
public void test(int n) { //实现打印问题 if (n > 2) {test(n - 1);}
System.out.println("n=" + n);
}public int factorial(int n) {//实现阶乘问题if (n == 1) {return 1;} else {return factorial(n - 1) * n;}}}
效果展示
递归的重要规则:
1、执行一个方法时,就创建一个新的受保护的独立空间。
2、不同方法下的局部变量是独立的,如上面的两个方法中的n;
3、如果方法中使用的是引用类型的变量则不同方法中可共用该引用类型变量中的数据;
4、递归必须向退出递归的条件逼近,避免无限次数的递归;
5、谁调用结果就返回谁。