首页 > 编程笔记 > Java笔记 阅读:31

Java方法参数用法详解(附带实例)

Java 程序中的方法参数允许将数据传递给方法,使方法能够根据不同的输入执行特定的操作。通过参数,方法可以接收外部的值,从而实现更加灵活和通用的功能。

Java方法参数的个数

在 Java 编程语言中,方法参数的个数可以是 0 个、1 个或多个。方法参数的个数包含以下三种。

1) 无参数方法

当方法不需要接收任何外部数据来执行任务时,可以定义为无参数方法。无参数方法代表参数列表为零个参数。

语法结构如下:
访问修饰符 static 返回值类型 方法名称( )
    //实现具体的功能
}

【实例】定义一个方法为 method02,查看参数列表,代码如下:
public static int method02(){
    return 3;
}
根据上述代码,在这个方法中没有任何参数。调用这个方法时,不需要传递任何值,直接使用方法名称即可,如 method02()。

2) 固定个数参数的方法

在大多数情况下,方法会接收特定数量的参数来执行特定的操作,固定个数参数的方法代表的是参数列表可以是 1 个参数,可以是 2 个参数,也可以是多个参数。

语法结构如下:
访问修饰符 static 返回值类型 方法名称(数据类型 参数名称,...){
    //实现具体的功能
}

【实例】定义一个方法为 method03,查看参数列表,代码如下:
public static int method03(int a,int b){
    return a+b;
}
根据上述代码,这个方法接收两个整数参数,用于计算它们的和。在调用时,需要提供两个整数作为实际参数,如“method03(10, 20);”。

3) 可变参数的方法

Java 还支持可变参数,允许方法接收任意数量的相同类型的参数。可变参数在方法定义中用“…”表示,可变参数的方法代表的是参数列表可以是 0 个参数、1 个参数、2 个参数或多个参数。

语法结构如下:
访问修饰符 static 返回值类型 方法名称(数据类型...参数名称){
    //实现具体的功能
}

【实例】定义一个方法为 method04,查看可变参数的个数,代码如下:
public static int method04(int...num){
    return num[0];
}
根据上述代码,这个方法可以接收 0 个、1 个或多个整数参数,在调用时可以传递不同数量的整数,如“method04();”、“method04(4);”或“method04(1, 2, 3, 4)”。

方法参数的个数决定了方法的灵活性和适用性。参数较少的方法通常更简单易用,但功能相对有限。而参数较多的方法可以提供更强大的功能,但调用时可能需要提供更多的信息,容易导致代码复杂。

在设计方法时,应该根据实际需求合理确定参数的个数。如果参数过多,就可以考虑将相关的参数组合成一个对象,以提高代码的可读性和可维护性。

可变参数方法虽然可以接收任意数量的参数,但在使用时需要注意参数的类型和顺序,以确保方法能够正确处理传入的参数。

Java方法参数的类型

在 Java 编程语言中,方法参数的类型包含以下两种。

1) 基本数据类型

Java 有 8 种基本数据类型可以作为方法参数,分别是byte、short、int、long、float、double、char 和 boolean。

当使用基本数据类型作为参数时,方法接收到的是参数值的副本。这意味着在方法内部对参数的修改不会影响到原始变量。

2) 引用数据类型

Java 中的类、接口和数组等都是引用数据类型,它们可以作为方法参数。

使用引用数据类型作为参数时,方法接收到的是对对象的引用。在方法内部对引用指向的对象进行修改,会影响原始对象。

注意:

Java方法参数的种类

1) 形式参数

形式参数是在方法定义中声明的变量,用于接收调用者传递的实际参数。形式参数的类型和名称在方法签名中指定。形式参数简称为形参。

【实例】定义一个方法为 method02,指定形式参数,代码如下:
public static int method02(int a,int b){
    return a+b;
}
在上述代码中,a 和 b 分别代表形式参数。

2) 实际参数

实际参数是在方法调用时传递给方法的具体值或变量。实际参数的类型和数量必须与方法定义中的形式参数相匹配。实际参数简称为实参。

【实例】定义一个方法为 method04,指定实际参数,代码如下:
public static void main(String[] args) {
    int num = MethodDemo.method04(10, 20);
    System.out.println("num = "+ num);
}
在上述代码中,10、20 分别代表实际参数。

Java方法参数的传递

方法参数的传递有以下两种形式。

1) 值传递

方法参数中的基本数据类型使用的是值传递,使用的值分别是 byte、short、int、long、float、double、char 和 boolean。当把一个基本数据类型的变量作为参数传递给方法时,实际上是将该变量的值复制一份传递给方法的形式参数。

【实例】在项目中创建类 MethodDemo02,实现值传递,代码如下:
public class MethodDemo02 {
    public static void main(String[] args) {
        //将 30 值再次赋值给 num, num=30
        int num=30;
        method01(num);
        System.out.println("num ="+num);
    }

    public static void method01(int num){
        //将 20 的值赋值给 num, num=20
        num=20;
    }
}
在上述代码中,我们在 method01 方法中修改了 num 的值,但不会改变外部 num 的值。

程序运行结果为:

num = 30

2) 引用传递

方法参数中的引用数据类型,使用的是引用传递。当把一个引用数据类型的变量作为参数传递给方法时,传递的是该变量引用的对象的内存地址,在方法内部对引用指向的对象进行修改会改变外部实际参数引用的对象。

【实例】在项目中创建类 MethodDemo03,实现引用传递,代码如下:
public class MethodDemo03 {
    public static void main(String[] args) {
        String s=new String("world");
        method01(s);
        System.out.println("s ="+s);
    }

    public static void method01(String str) {
        String s1=new String("hello");
    }
}
在上述代码中,method01 方法中对 String 对象的修改会影响外部的 String 对象。

程序的运行结果为:

s = world

相关文章