目录
一.什么是方法(method)
二.方法定义
三.方法中实参和形参的关系
四.方法重载
五.递归
一.什么是方法(method)
方法就是一个代码片段,再C语言中我们曾经学过一个类似的方式——函数,他们都是将具有独立功能的代码组织成一个整体,形成一个具有特殊功能的代码集,从而达到代码复用的效果。
二.方法定义
方法语法格式
修饰符 返回值类型 方法名 (参数类型 参数名){
方法体...
return 返回值;
}
举例:(void 没有返回值)
public static void 方法名(){
方法体...
}
注意事项 :
- 修饰符:现阶段直接使用public static 固定搭配
- 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void
- 方法名字:采用小驼峰命名
- 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
- 方法体:方法内部要执行的语句
- 在java当中,方法必须写在类当中
- 在java当中,方法不能嵌套定义
- 在java当中,没有方法声明一说
举例:
定义一个判断是否是闰年的方法,是闰年返回true,不是闰年返回false.
public static boolean isLeapYear(int year){
if((year%4==0 && year%100!=0) || year%400==0){
return true;
}else{
return false;
}
}
注意:
1.方法必须写在类当中
2. 方法不能嵌套定义
3.没有方法声明一说
跟C语言的函数不同,Java的方法不需要声明,只要方法在类中即可。
三.方法中实参和形参的关系
形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的实参的值。
所以我们可以说,形参是存储实参拷贝的值的,但形参和实参是两个实体。
例如:我们要交换两个值
根据执行结果我们发现实参并没有进行交换,而形参进行了交换 ,这是因为实参的值是在main方法的栈中,而形参的值是在swap方法的栈中,我们在swap中进行交换两个数的时候,只是在swap方法的栈中对形参进行了交换,并没有使main方法栈中的值发生改变,这样我们就进一步证明了在swap方法调用的时候,只是将实参的值拷贝到形参当中。
如果我们想要进行两个数的交换,其实我们可以用数组进行交换
之所以数组能进行交换是因为数组存储的是地址,将地址传给形参,形参就会拿到main方法中实参的值,所以实参进行了交换。
四.方法重载
方法重载概念
在生活中,我们的汉语的一个字可能有很多的意思,英语的一个单词也有许多不同的意思,像这种具有多重含义的表示,我们就称他为重载。
在Java中,我们也有重载的方式,比如我们有多个名字相同的方法,但是他们的参数列表并不相同,我们就称他为方法重载。
注意:
- 方法名必须相同
- 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
- 与返回值类型是否相同无关
与返回值类型是否相同无关
五.递归
递归的概念
一个方法在执行过程中调用自身, 就称为 "递归"
递归的必要条件:
1. 将原问题划分成其子问题,注意:子问题必须要与原问题的解法相同
2. 递归出口
举例:递归求 N 的阶乘
好了,今天的分享就到这里了,我们下一篇见!