欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaSe基础:方法的定义及调用、重载

程序员文章站 2022-03-17 13:04:09
...

方法:

方法是什么:

通俗一点来说:在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。在Java中则是为了实现某种功能的,可以被重复调用的代码段。

方法的优点:

1、使用方法可以提高代码的复用性:

因为它是定义在类里面方法外面,只有调用的时候才会执行,而且可以被重复使用,以用来实现某种独立的功能;

2、方法便于后期维护:

每个方法块都是独立的,便于后期修改内容;

方法的定义:

定义方法的分析步骤

1.方法的需求

2.返回值---------是否有返回值,什么数据类型

3.参数------------是否需要定义参数

4.方法名---------见名知意

方法分为有返回值类型、无返回值类型两种:

有返回值类型的方法

修饰符 返回值类型 方法名(参数列表){

	实现功能的代码段;

	return 返回值;

}

无返回值类型的方法

修饰符 void 方法名(参数列表){
           方法体语句;
           return;
}

修饰符:

表示访问权限修饰符,一般默认为public static;

返回值类型:

方法体代码执行完毕之后,是否需要得到一个结果或者数据值,如果需要就定义为有返回值类型的方法,不需要就定义为没有返回值类型的方法;

方法名:

用来调用该方法使用的标识符,遵循标识符的命名规范,驼峰命名法;

参数列表:

可以定义参数,可以不定义参数,可以定义多个参数;

如果在方法的实现过程中存在未知、不确定、可能会改变的数据,那么就定义在方法的参数列表上,定义参数和定义变量的格式相同,可以为任意的数据类型;

方法的参数:

1.形式参数(形参) : 定义方法时()中的参数

2.实际参数(实参) : 调用方法时()中的参数

形参与实参之间需要一一对应,个数一致,类型一致,不同类型的形参顺序一致;

tips:1、形参如果不赋值,是没有默认值的;

​ 2、接收返回值类型的变量同样适用于自动类型转换,也就是大类包括小类;

return:

有两个作用:1、提前结束方法,2、带出返回值给到调用处;

tips:1、在一个有返回值类型的方法必须 存在return关键字;

​ 2、return后面执行不到的语句会报错,没有执行时机,为不可达语句;

方法的调用:

1、普通调用: 方法名(参数列表);

​ 有返回值类型的方法调用时候需要接收返回值

​ 没有返回值类型的方法,只能使用普通调用!!

2、赋值调用

​ 数据类型 变量名 = 方法名(参数列表);

​ System.out.println(变量名);

3、输出调用

​ System.out.println(方法名(参数列表));

public class Class001_Method {
    //类中方法外的位置
    public static void main(String[] args) {
        //赋值调用
        double d = getPI();
        System.out.println(d);

        //输出调用
        System.out.println(getPI());

        System.out.println(getSum(3,5));

        //普通调用:无法接受返回值
        getPI();
    }

方法的重载:

方法重载的前提:

当一个类中实现某个功能的时候,这个功能却有不同的实现方式或者需要接受不同的参数,可以让这些相同功能实现的方法,这就构成方法的重载;多个方法的方法名相同。

方法重载的要求:

1、同一个类中的多个方法

2、方法名相同

3、参数列表不同(也叫做方法签名不同,方法签名就是方法名+参数列表)

tips:参数列表不同具体表现在:参数个数不同、参数的类型不同、不同类型的参数顺序不同;

方法重载的调用:

在调用处输入方法名(实参),由输入的实参(数量、数据类型等等)决定重载方法的调用;

public static void main(String[] args) {
        getSum(1,1.1);
    }
    //对数求和
    public static void getSum(int x,int y){
        System.out.println("两个int类型参数的和"+(x+y));
    }

    public static void getSum(int x,int y,int z){
        System.out.println("三个int类型参数的和"+(x+y+z));
    }

    public static void getSum(int x,double y){
        System.out.println("一个int,一个double类型参数的和"+(x+y));
    }

    public static void getSum(double y,int x){
        System.out.println("一个double,一个int类型参数的和"+(x+y));
    }

递归:

定义:在方法定义中调用方法本身

递归的优缺点:

优点:用在合理的位置可以简化代码结构;

缺点:如果代码结构复杂,可能会大量占用内存,造成内存溢出,降低效率。

临界条件: 停止自己调用自己的条件

递归前进段: 不停的自己调用自己,知道临界条件之间这个过程

递归后退段: 从临界条件开始,将结果返回给调用的上一层的过程

public static void main(String[] args) {
        System.out.println(recursion(3));;
    }
    //递归 : 求某个数阶乘   5! = 5*4!
    //返回值: 需要 int
    //参数: int i
    public static int recursion(int i){
        //临界条件
        if(i==1){
            return 1;
        }
        return i * recursion(i-1);
    }
相关标签: java