- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaSE_2_3循环,方法与递归讲解
练习 计算整数a加到整数b的总和,其中a不一定比b小. ab ab a==b 练习 求出1000以内 能被7整除,不能被6整除,且十位数不是5,个位数不大于2, 或者能被50以内最大的三个素数的和整除的数中 最大的5个.(可能用到break,continue;)PrimeNumber3 从1到100输出数字,中间用逗号分隔,10个换一次行,如果遇到个位是3或整个数是3的倍数不输出.例如: 1,2,4,5,7,8,10,11,14,16, 17,19,20,22,25,26,28,29,31,32, 作业 H0103homework 为什么需要声明方法 DRY原则,把能被复用的逻辑抽取出来 实现相对独立的逻辑 实现比较复杂的逻辑 可以对具体实现进行隐藏/封装 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式: 形式参数(形参):在方法声明时接受的参数类型,数量,顺序。 实际参数(实参):调用方法时实际传给方法的数据。 返回值类型:方法要返回的结果的数据类型。 若一个方法没有返回值,必须给出返回值类型void 返回值:方法在执行完毕后返还给调用者的数据。 return 语句终止方法的运行并指定要返回的数据。 [修饰符1 修饰符2 …] 返回值类型 方法名([形式参数列表]){ 程序代码; [return 返回值;] } * (普通)方法的声明--制定行动计划 Java语言中使用下述形式调用方法: 对象变量名.方法名(实参列表);//非静态方法的调用方式 静态方法名(实参列表);//静态方法的调用方式 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。(int ,double, float) * (普通)方法的调用--实施行动计划 方法调用Demo 定义static方法与非静态方法,用于求2个int类型的数值的和, 自己写2个求商的方法(一个static的,一个非static的),在main方法中调用,并输出返回结果...... 求1~n的和(一个static的,一个非static的)...... 闰年 A:能被4整除,并且不能被100整除 B:或者能被400整除。 求阶乘5!=5*...*1(自己练习) 求最大值 a,b ab?a:b 在方法中调用方法 (普通)方法重载overload ----(实现相似功能) 在同一个类中可以定义多个同名方法----方法重载 public class PrintStream{ ......... public void println(int i) {……}//重载了10次 public void println(float f) {……} public void println(String s) {……} ......... } 重载方法的参数列表必须不同 重载方法的返回值类型,权限,其他修饰符可以相同,也可以不同 递归 问题:求给定整数的阶乘,例如5! = 5*4*3*2*1,如何实现? 使用循环语句…… 使用递归 public int method1(int n){ if(n == 1) return 1; else return n*method1(n-1); } 递归的基本思想和要素 递归的基本思想是以此类推 递归方法解决问题的两个步骤: 求得范围缩小的同性质问题的结果 利用这个已得到的结果和几个简单的操作求得问题的最后解答 当同性质的问题被简化得足够简单时,将可直接获得问题的答案,而不必再调用自身 练习: 用递归解决1+2+3+......+100的求和问题. int sum(int a){ //递归调用:1.出口;2.缩小规模 } 典型递归问题 求Fibonacci数列: 1, 1, 2, 3, 5, 8, …第40个数的值。 程序要点: 1.使用递归:效率低 2.不使用递归:效率高 int total = 0,a = 1,b=1;//a是上上个月的兔子对数,b是上个月的兔子对数,total是当月的兔子对数 for(int i = 3;i = n;i ++){ total = a + b; a = b; b = total; } 规律: F1=1, F2=1 Fn=Fn – 1 + Fn – 2 (n2) 递归的实际应用 遍历一个文件夹及其子文件夹中的文件 标识符 关键字 局部变量 全局变量 变量的作用域 变量在内存中的存放格局 基本数据类型 4类8种,类型之间的互相转换 条件、循环语句 if switch for while do/while 方法 形参、实参、返回值 方法的重载 递归算法: 找递归出口,设置
您可能关注的文档
最近下载
- 20171017_宁波新世界明楼项目汇报文件.pptx VIP
- (人教PEP版2024)英语五年级上册 Unit2 大单元教学设计.docx VIP
- 劳务合同模板2025.docx VIP
- 高性能探针卡生产线项目规划设计方案.docx
- 2024年秋新沪科版物理八年级上册 第五章大单元整体设计 教学课件.pptx VIP
- 数字赋能乡村治理的实践探索与优化路径——以晋南S村为例.pdf
- 《道路运输管理实务》第2版综合测试题.docx VIP
- 《人工智能导论》课件.ppt VIP
- 第一章 大学生心理健康教育.pdf VIP
- 《铁路线路养护与维修》课件全套 模块1、2 基础知识;普速铁路线路工务作业.pptx
文档评论(0)