栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java—面向对象——方法递归调用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java—面向对象——方法递归调用

目录

一、递归重要规则


基本介绍         

简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂问题,同时可以让代码变得简洁

案例:1.打印 2.阶乘

public class Recursion01{
	public static void main(String[] args){
		//打印
		T t1 = new T();
		t1.test(4);

		//阶乘
		t1.factorial(5);
		int res = t1.factorial(5);
		System.out.println("阶乘res=" + res);

	}
}

class T{
	public void test(int n){
		if(n > 2){
			test(n - 1);
		}
		System.out.println("n=" + n);
	}


	//factorial 阶乘
	public int factorial(int n){
		if(n == 1){
			return 1;
		}else{
			return factorial(n - 1) * n;
		}
	}
}

1.打印问题示意图

2.阶乘问题示意图

一、递归重要规则

        1.执行一个方法时,就创建一个新的受保护的独立空间(栈空间)

        2.方法的局部变量是独立的,不会相互影响,比如n变量

        3.如果方法中使用的是引用类型变量(数组,对象) ,就会共享该引用类型的数据

        4.递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflowError(死龟了)

        5.当一个方法执行完毕,或者遇到return时,就会返回,遵循谁调用,就将结果返回给谁,同时当方法执行完毕或返回时,该方法也就执行完毕

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/726781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号