Hello,伙伴们大家好!我是余一八,今天给大家带来的是Java中方法的使用,内容多多,全是干货,喜欢的小伙伴可以点赞+关注哦~
一、方法的概念。
什么是方法?
在编程中,我们需要处理多种多样的问题,每个问题的处理方式又不尽相同,这就导致我们每次解决相同的问题,都要一遍又一遍地编写代码,工作过于冗杂,效率极其低下。 那么能不能将每类问题的解决方式固定成一个模版,我们每次解决问题时,使用这个模版,这样就能大大缩减耗费的时间,因此提高我们的开发效率?
答案是可以的。在Java中,我们将“模版”称为方法(method),在需要的时候直接调用方法使用即可,让我们有更多时间研究难题,提高开发效率。方法就是一个代码片段,类似于C语言中的“函数”。我们可以使用工程师们已经封装好的成千上万种方法,也可以根据实际去自定义方法。
二、方法的使用。
1.方法的定义
// 方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
例1:定义一个方法,交换x和y。
例2:定义一个方法,求x+y的和。
注意:
修饰符:现使用public static,后续会详细介绍;
返回值类型:如果有返回值,则返回值类型必须与返回的试题类型一致,如果没有返回值,则必须使用void;
方法名:采用小驼峰命名法;
参数列表:如果没有参数,则()里不写,如果有参数,要指定参数类型,多个参数之间逗号隔开;
方法体:方法内部要执行的语句;
在Java中,方法必须写在类当中,不能嵌套定义,没有方法声明。
2.方法调用的执行过程
调用方法传递参数
找到方法地址
执行被调方法的方法体
被调方法结束返回
回到主调方法继续往下执行
定义方法的时候,不会执行方法,方法被调用才会执行,一个方法可以被多次调用。
3.实际参数(实参)和形式参数(形参)的关系
形参是用来接收函数在调用时传递实参的值,形参名可以随意取,对方法没有影响,它只是方法在定义时需要借助的变量,用来保存方法调用时传递进来的值
在Java中,实参和形参是两个实体,实参的值只是临时拷贝到形参中,实参值并没有改变
我们可以看到,在swap方法中,形参x和y的值发生了改变,但main方法中,x和y并没有变化
原因分析:
实参x和y是main方法中的两个变量,其空间在main方法的栈中,形参x和y是swap方法中的两个变量,其空间在swap方法中。实参临时拷贝值到形参中,在调用swap方法完毕后,swap方法的栈自动销毁,形参的空间也随之销毁,因此对实参并不会产生任何影响。形参就是实参的临时拷贝,即传值调用。
4.没有返回值的方法
如果方法不需要返回值,则返回类型必须写void
三、方法重载。
1.为什么需要方法重载?
由于参数列表的多样性,我们在调用方法时,往往会遇到形参与实参类型不匹配的现象,为了解决这个问题,于是我们需要方法重载。
2.方法重载的概念
在Java中,方法名相同,参数类型不同,那么我们称这个方法被重载了。
注意:方法被重载后,方法名必须相同,参数列表必须不同,参数的个数不同、参数的类型不同、参数顺序不同,与返回类型是否相同无关。
四、递归。
1.递归的概念
方法在执行的过程中又调用了自己,则被称为递归。
递归的起始条件相当于递归的结束条件
将原问题划分为其子问题,子问题必须与原问题的解法相同。
例如:递归求1+2+3+4+5
2.递归执行过程分析
按照图中的1-8顺序执行
3.递归练习
递归求n的阶乘
递归打印数字
至此,Java方法的使用已经介绍完毕,希望伙伴们能够点赞+关注哦,你们的支持就是我最大的动力!
我是余一八,咱们下期见~