目录
- 什么是方法(也叫函数)
- 方法的重载
- 方法的递归
什么是方法(也叫函数)
就是用来解决一类问题的代码的有序组合,是一个功能模块。
修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2]){
执行语句
....
return 返回值;
}
语法格式说明如下:
- 修饰符:方法的修饰符有好多,有对访问权限进行限定,有静态修饰符static,最终修饰符final。
- 方法名:自定义的方法名,尽量见名知意,命名规则和变量一样。
- 返回值类型:也就是方法返回的数据类型。
- 参数类型:用于限定调用方法是传入的数据类型。
- 参数名:就是一个变量,用于接收调用方法时传入的数据。
- return关键字:用于结束方法以及返回值指定类型的值。
- 返回值:被return关键字返回的值,方法结束后将返回值返回给调用者。
示列:
public class Example03 {
public static void main(String[] args) {
//调用getArea()方法
int area = Example03.getArea(10, 20);
System.out.println("该矩形的面积为:" + area);
}
//定义一个静态计算矩形的面积方法,接收两个参数x,y
public static int getArea(int x, int y) {
//计算结果
int temp = x * y;
//返回结果
return temp;
}
}
运行结果:200
方法的重载
什么是方法的重载:就是在一个类中定义多个名称相同的方法,但参数的类型或个数必须不同,这就是方法的重载
例如:计算两个数之和,三个数之和
public class Example03 {
public static void main(String[] args) {
//调用方法add01方法
int sum1 = Example03.add01(10, 20);
//调用方法add02方法
int sum2 = Example03.add02(10, 20, 30);
System.out.println(sum1);
System.out.println(sum2);
}
//求两个数的和
public static int add01(int x, int y) {
return x + y;
}
//求三个数的和
public static int add02(int x, int y, int z) {
return x + y + z;
}
}
在上面的代码可以看出,针对每一种求和的情况都要定义一个方法,每个方法的名称都不一样,在调用的时候很难区分那种情况调用哪个方法。看下面的例子:
public class Example03 {
public static void main(String[] args) {
//调用add方法
int sum01 = Example03.add(10, 20);
//调用add方法
int sum02 = Example03.add(10,20,30);
System.out.println(sum01);
System.out.println(sum02);
}
//求两个数的和
public static int add(int x,int y){
return x + y;
}
//求三个数的和
public static int add(int x,int y,int z){
return x + y + z;
}
}
从上面的例子可以看出在Example03类中定义两个名字相同的方法,只是参数个数或类型不同,从而形成了方法重载。方法的重载与返回值类型无关,重载只需要瞒足两个条件
- 方法名称相同
- 参数个数或者参数类型不同
方法的递归
方法的递归指的是在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用
public class Example04 {
public static void main(String[] args) {
int sum = Example04.getSum(5);
System.out.println(sum);
}
public static int getSum(int x){
//满足条件递归结束
if (x == 1){
return 1;
}
int temp = getSum(x - 1);
return temp + x;
}
}