方法的定义与使用(方法递归调用)|学习笔记

简介: 快速学习 方法的定义与使用(方法递归调用)

开发者学堂课程【【名师课堂】Java 零基础入门:方法的定义与使用(方法递归调用)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/370/detail/4421


方法的定义与使用(方法递归调用)


内容简介:

一、方法递归调用的定义

二、范例1:实现一个 1-100 的累加操作

三、范例2:实现60!

 

一、方法递归调用的定义

方法的递归调用指的是一个方法自己调用自己的形式。一般如果要进行方法的递归操作往往都具备有以下特点:

l 方法必须有一个递归的结束条件

l 方法在每次递归处理的时候一定要做出一些变更

 

二、范例1:实现一个1-100的累加操作

public class TestDemo {

public static void main(String args[]) {

System.out.printIn(sum(100));

}

public static int sum(int sum) {

if(num==1) {   //结束条件

return 1;

}

return num + sum(num-1);  //做出变更

}

}

代码解读如下:

【mian() 调用】第 1 次执行 sum() 方法:return 100+sum(100-1)

【sum() 递归】第 2 次执行 sum() 方法:return 99+sum(99-1)

【sum() 递归】第 2 次执行 sum() 方法:return 98+sum(98-1)

【sum() 调用】倒数第 2 次执行 sum() 方法:return 2+sum(2-1)

【sum() 调用】倒数第 1 次执行 sum() 方法:return 1;

图片4.png


三、范例 2:实现 60!

可以预见该算式输出结果较大,应该使用 double

public class TestDemo {

public static void main(String args[]) {

System.out.printIn(mul (60));

}

public static int sum(int sum) {

if(num==1) {   //结束条件

return 1;

}

return num * mul (num-1);  //做出变更

}

}

通过代码可以发现使用 while 循环的操作其实大部分都可以更换为递归,之所以使用递归主要是一个方法可以执行的操作很多而且结构要好。

相关文章
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
4月前
|
监控 前端开发 Java
如何开发设备管理系统中的设备巡检板块 ?(附架构图+流程图+代码参考)
设备巡检是设备管理系统中的关键模块,主要用于日常检查、故障预警和维修跟踪。通过科学管理巡检任务,企业可提升设备运行效率、延长使用寿命,并降低维护成本。本文详细解析设备巡检模块的开发流程、功能设计及实现技巧,涵盖技术架构、核心功能、业务流程和代码示例,帮助企业构建高效、稳定的设备巡检系统,实现数据驱动的设备管理决策。
|
9月前
|
新能源
19期HR必读书单大揭秘:从薪酬体系搭建到绩效使能的实战指南
作为8年HR老兵,我深知HR在专业进阶中的迷茫。2023年数据显示76%的HR有知识焦虑。本文揭秘19期HR共读书单,涵盖薪酬体系、组织发展、招聘管理等全模块。如《薪酬管理从入门到精通》提供“3E模型”,《绩效使能》刷新OKR认知,《HRBP是这样炼成的》构建能力跃迁路线图。书单还包含实战攻略,如主题式阅读法与结构化笔记模板,助你将理论转化为实践,破解“知道但不会用”的困境。
319 18
|
人工智能 安全 开发者
由于安全风险,安全领导者考虑禁止用AI生成代码
由于安全风险,安全领导者考虑禁止用AI生成代码
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
机器学习/深度学习 自然语言处理 算法
大模型Prompt-Tuning技术入门(一)
Prompt-Tuning是NLP领域的新兴技术,旨在减少预训练模型Fine-Tuning的需要。它通过构造提示(Prompt)使预训练模型能适应各种任务,降低了语义偏差和过拟合风险。Prompt作为任务的“提示词”,可以是人工定义、自动搜索或生成的模板,与预训练的MLM头结合使用,只需少量甚至无标注数据,通过标签词映射进行预测。此方法从GPT-3的In-Context Learning发展至今,包括了连续Prompt、大规模模型的Instruction-tuning和Chain-of-Thought等进展。 Prompt-Tuning是向少监督、无监督学习迈进的关键研究。
|
存储 Cloud Native 容灾
再创佳绩!阿里云4篇论文入选顶会FAST 2023
2月21日至23日,计算机体系结构顶会USENIX FAST 2023在美国圣克拉拉召开,阿里云4篇论文被顶会收录,涉及分布式存储架构、云原生存储、用户态存储引擎等多个领域。其中,《Perseus:A Fail-Slow Detection Framework for Cloud Storage Systems》一文还斩获了大会最佳论文奖,这也是中国企业首次获此殊荣。
1444 1
再创佳绩!阿里云4篇论文入选顶会FAST 2023
|
JavaScript 前端开发
如何使用 layui 的日期选择器组件?底层原理是什么?
如何使用 layui 的日期选择器组件?底层原理是什么?
598 0
|
存储 SQL 关系型数据库
count(1)、count(具体字段)和count(*)究竟有什么区别?
count(1)、count(具体字段)和count(*)究竟有什么区别?
273 0