![java编程第8课-方法与递归_第1页](http://file4.renrendoc.com/view/9939ba00de59797f1e493a25cd6b61a7/9939ba00de59797f1e493a25cd6b61a71.gif)
![java编程第8课-方法与递归_第2页](http://file4.renrendoc.com/view/9939ba00de59797f1e493a25cd6b61a7/9939ba00de59797f1e493a25cd6b61a72.gif)
![java编程第8课-方法与递归_第3页](http://file4.renrendoc.com/view/9939ba00de59797f1e493a25cd6b61a7/9939ba00de59797f1e493a25cd6b61a73.gif)
![java编程第8课-方法与递归_第4页](http://file4.renrendoc.com/view/9939ba00de59797f1e493a25cd6b61a7/9939ba00de59797f1e493a25cd6b61a74.gif)
![java编程第8课-方法与递归_第5页](http://file4.renrendoc.com/view/9939ba00de59797f1e493a25cd6b61a7/9939ba00de59797f1e493a25cd6b61a75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
方法与递归欢迎进入特斯汀学院主讲老师:Roy班主任课程回顾类、变量、方法
类变量方法成员变量局部变量静态变量(类变量)成员变量(实例变量)静态方法(类方法)成员方法(实例方法)构造方法方法体中定义的变量,在方法之外就会被销毁,无法使用。任何方法都可以使用静态变量。静态变量只有一份拷贝,一改则全改。通过类名可以直接调用静态变量。静态方法不能使用非静态的成员变量。只有实例化对象之后,才能被调用。只有实例化对象之后,对象才能使用成员方法。成员方法可以使用静态变量、成员变量以及自己的局部变量。成员方法可以调用其他成员方法也可以调用静态方法。构造方法必须和类名同名。当类中没有显式定义构造方法时,java会提供默认构造方法。当类中定义了构造方法时,默认构造方法无效。构造方法不能被static修饰。静态方法可以直接通过类名调用。静态方法不能使用非静态变量,也不能调用非静态方法。目录CONTENTPart.1再谈方法MethodPart.2重载方法OverloadedmethodPart.3递归RecursionPart.4快速排序QuicksortalgorithmPART1再谈方法Method方法方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高代码的重用性。方法方法的作用访问权限修饰符静态函数修饰返回值类型方法名参数列表返回值参数和返回值参数
当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。1.引用类型参数传引用(对象和数组)按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本,方法改变参数的值时,原变量的值也会改变。2.基本数据类型参数传值(注意Integer和String)按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本,方法改变参数的值时,不影响原变量的值。返回值返回语句返回方法类型对应的类型值。在方法体中途使用return关键字,将返回返回值并结束方法运行。void修饰的函数,可以用return;PART2重载方法Overloadedmethod重载方法重载JAVA中方法的重载是在一个类中发生进行的。当有多个方法具有相同的名字、不同的参数列表时,便产生了方法的重载。参数列表的不同包括参数的类型,参数的个数,参数类型的顺序这三者之中至少有一项不同。当调用这些重载的方法时根据参数列表的不同来自动匹配方法,这也体现了JAVA的多态性。方法的返回类型与修饰符及参数的名字不影响方法重载。PART3递归Recursion方法的递归递归递归就是在方法运行过程中调用自身1.子问题须与原始问题为同样的事,且更为简单;2.不能无限制地调用本身,必须有个出口,化解为非递归状况处理。
尽量少地使用递归算法,除非没有更好的算法或者某些情况下递归更为适合的时候。递归算法解题相对常用的算法如普通循环等,运行效率较低。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等问题。递归实例斐波那契数列第N项求值计算n的阶乘n!递归的原理递归算法的原理递归其实用到了栈的方式来进行底层实现。栈的操作机制核心是后入先出。也就是说在递归算法进行时,以阶乘算法为例,其实是如下过程:递归前进段(入栈)递归前进到出口条件满足时,开始返回递归返回段(出栈)mainF(4)=4*F(3)F(3)=3*F(2)F(2)=2*F(1)F(1)=1出口条件满足开始出栈栈顶栈底斐波那契数列递归mainF(5)F(4)+F(3)F(4)=F(3)+F(2)F(3)=F(2)+F(1)F(2)=1F(2)=1F(1)=1F(3)=F(2)+F(1)F(2)=1F(1)=1PART4快速排序Instantiateobject快速排序快速排序快速基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法解析1)选择一个基准元素,通常选择第一个元素或者最后一个元素。
2)从左往右用索引left查找数列中比基准值大的值,交换位置,然后从右往左用索引right查找比基准值小的值,交换位置,循环直到左右的索引相等。
3)此时基准元素在其排好序后的正确位置
4)然后分别对分割出来的两部分用同样的方法继续进行排序,直到整个序列有序。
作业重载Dog构造方法写一个无参的Dog构造方法重载一个可以定义Dog名字和年龄的构造方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC TR 63222-100:2023 EN Power quality management - Part 100: Impact of power quality issues on electric equipment and power system
- 高大支模安全施工施工方法及工艺要求
- 2024版渣土砂石运输合同
- 【正版授权】 IEC TR 62726:2014 EN Guidance on quantifying greenhouse gas emission reductions from the baseline for electrical and electronic products and systems
- 2024-2030年墨西哥通信基站用电池市场前景分析
- 精细陶瓷 粉末堆积密度的测定 松装密度 征求意见稿
- 味多美工作合同范本
- 医院司机招聘合同范本
- 【正版授权】 IEC TR 62443-2-3:2015 EN Security for industrial automation and control systems - Part 2-3: Patch management in the IACS environment
- 【正版授权】 IEC TR 62362:2020 EN Selection of optical fibre cable specifications relative to mechanical,ingress,climatic or electromagnetic characteristics - Guidance
- 卧床老年人的擦浴护理
- 医院护理工作制度的组织效能与协同作用
- 鼓胀教学查房
- UPS不停电装置试验报告
- 创办大学的项目申请书
- 幼儿园课程评价研究综述
- 国家电大《商务英语1》形考任务1-8辅导资料
- 初中化学项目式教学的实施策略探究
- 八年级历史单元作业设计
- 柔性围隔施工方案
- 西门子TIA Portal(博途)V13(内部工程师培训)
评论
0/150
提交评论