0
点赞
收藏
分享

微信扫一扫

Java中方法的基本用法及方法重载

慎壹 2022-04-13 阅读 53
java

前言

提示:这里可以添加本文要记录的大概内容:

本篇博客主要介绍Java中方法的基本用法,方法重载,重点需要掌握方法中实参和形参的关系。


提示:以下是本篇文章正文内容,下面案例可供参考

一、方法的基本用法

1.什么是方法(method)?

方法存在的意义:

2.方法定义语法

基本语法:

代码示例:用一个方法实现两个整数相加

public class Test {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
//        方法调用
        int ret = add(a,b);
        System.out.println(ret);
    }
//    方法定义
    public static int add(int a,int b){
        return a + b;
    }
}
//运行结果
30

注意事项:

3.方法调用的执行过程

基本规则:

示例:

public class Blog {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("第一次调用方法之前");
        int ret = add(a, b);
        System.out.println("第一次调用方法之后");
        System.out.println("ret = " + ret);
        System.out.println("第二次调用方法之前");
        ret = add(30, 50);
        System.out.println("第二次调用方法之后");
        System.out.println("ret = " + ret);
    }
    public static int add(int x, int y) {
        System.out.println("调用方法中 x = " + x + " y = " + y);
        return x + y;
    }
}

//运行结果
第一次调用方法之前
调用方法中 x = 10 y = 20
第一次调用方法之后
ret = 30
第二次调用方法之前
调用方法中 x = 30 y = 50
第二次调用方法之后
ret = 80

4.实参和形参的关系(重要)

在Java中,方法的参数传递只有值传递,所谓的值传递就是把实参的值拷贝一份给形参,对实参没有任何影响。
示例:

public class Blog {
    public static void main(String[] args) {
        //x和y是主方法中的x和y,实参
        int x = 10;
        int y = 20;
        //调用swap方法时,将x的值10和y的值20拿出来复制一份传递给a和b
        swap(x,y);
        System.out.println("x = " + x + ",y = " + y);
    }

    //调用swap时,就有实参到形参的传递,将实参的值拷贝一份赋值给形参
    //swap-x = main-x = 10;swap-y = main-y = 20
    private static void swap(int x, int y) {
        System.out.println("调用swap方法中");
        //交换的都是swap-x和swap-y对main-x和main-y不造成任何影响
        int temp = x;
        x = y;
        y = temp;
        System.out.println("x = " + x + ",y = " + y);
    }
}

//运行结果
调用swap方法中
x = 20,y = 10
x = 10,y = 20

在方法外部交换两个局部变量的场景在Java中压根就不存在
解决这个问题需要引入引用数据类型(数组或对象)
注意:
方法的返回值可有可无,没有返回值的方法使用void声明,在没有返回值的方法中,仍然可以使用return;表示提前结束方法的调用。

public class MethodTest {
    public static void main(String[] args) {
        printNum(100);
    }
    //传入一个num,输出第一个从1-num的3的倍数
    public static void printNum(int num){
        for (int i = 1; i <= num; i++) {
            if (i % 3 == 0){
                System.out.println(i);
                //直接终止本次方法的调用,返回调用处继续执行
                return;
            }
        }
    }
}

//运行结果
3

二、方法的重载

1.方法重载的概念及基本用法

示例:

public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}

以上方法的功能为计算不同类型参数的和,功能相同,只是参数列表不同,构成重载。

2.方法重载的规则

示例:

public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static double add(double x, double y, double z) {
return x + y + z;
}

以上的三个方法只有参数类型,或者参数的个数不同,所要实现的功能都是相同的,都是计算参数的和,使用同一个名字,提供不同版本的实现,构成方法重载。

//编译错误,以下两个方法不构成方法重载,是发生了方法重复
public static void m4(int a,int b){}
public static void m4(int b,int a){}
//以下两个方法不构成重载,只是返回值类型不同
public static int add(int x, int y) {
    return x + y;
}
public static double add(int x, int y) {
   return x + y;
}
举报

相关推荐

0 条评论