欢迎访问宙启技术站
智能推送

Java函数方法的参数与调用方式

发布时间:2023-06-26 15:15:54

Java 是一门面向对象的编程语言,函数方法是其中一个非常重要的构建块,Java中的函数方法定义了程序中的行为和逻辑,是Java程序的基本组成部分之一。本文将为你介绍 Java 的函数方法参数和调用方式的相关知识。

函数方法参数

Java 的函数方法一般需要输入参数,参数是指在函数方法调用时传递给函数方法的数据。参数可以大大提高函数方法的灵活性和通用性。Java 语言中,函数方法的参数类型可以是基本数据类型,如整型、布尔型、浮点型等,也可以是对象类型。

Java 函数方法的基本语法:

[修饰符] 返回类型 函数名([参数类型1 参数名1, 参数类型2 参数名2, ...]) {

    // 函数方法体

}

在函数方法定义中,参数列表的语法格式是:参数类型 参数名,中间用逗号隔开。参数类型为必须,而参数名为可选。函数方法可以不带参数,也可以带多个参数。参数类型可以使用 Java 支持的所有数据类型,包括基本类型和对象类型。

函数方法的返回值类型也需要声明,它告诉编译器函数方法返回的数据类型。

Java 函数方法的返回值类型可以是基本类型,如 boolean、char、byte、short、int、long、float 和 double,也可以是任何 Java 对象类型,甚至可以是 void。

Java 函数方法的调用方式

Java 主要有以下几种方式调用函数方法:

1. 传值调用

在传值调用时,只是把实参的值复制给函数方法的形参,函数方法的形参和实参是两个不同的变量,互相独立,任何一方对变量的改动不会影响到另一方的值。

传值调用方式 Java 代码示例:

public class MethodExample {

    static void test(int a, int b) {

        a = a + 10;

        b = b + 20;

        System.out.println("a = " + a);

        System.out.println("b = " + b);

    }

    public static void main(String[] args) {

        int a = 10;

        int b = 20;

        test(a, b);

        System.out.println("a = " + a);

        System.out.println("b = " + b);

    }

}

输出结果:

a = 20

b = 40

a = 10

b = 20

从输出结果中可以看出,在函数方法 test 中 a 和 b 的值已改变,但在 main 中的 a 和 b 的值没有改变,因为变量 a 和 b 是在函数方法内部生成的,函数方法结束后,它们的生命周期结束。

2. 引用调用

在引用调用方式中,实参和形参都是引用类型,也就是说,在函数方法内部,形参和实参共用同一块内存区域,任何一方对内存区域的修改都会影响到另一方。

引用调用方式 Java 代码示例:

public class MethodExample {

    static void test(int[] array) {

        for (int i = 0; i < array.length; i++) {

            array[i] = array[i] * 2;

            System.out.print(array[i] + " ");

        }

        System.out.println();

    }

 

    public static void main(String[] args) {

        int[] array = {1, 2, 3, 4, 5};

        test(array);

        for (int i = 0; i < array.length; i++) {

            System.out.print(array[i] + " ");

        }

    }

}

输出结果:

2 4 6 8 10 

2 4 6 8 10 

从输出结果中可以看出,在函数方法 test 中,数组的值已经改变,而在主方法中,数组的值也已经改变了。

3. 输出调用

在输出调用方式中,函数方法不需要返回值,而是用形参的方式将数据传给调用者,也就是说,函数方法可以修改实参的值,但不会返回任何值。

输出调用 Java 代码示例:

public class MethodExample {

    static void test(int a, int b, Ref c) {

        a = a + 10;

        b = b + 20;

        c.setC(c.getC() + 30);

        System.out.println("a = " + a);

        System.out.println("b = " + b);

        System.out.println("c = " + c.getC());

    }

 

    public static void main(String[] args) {

        int a = 10;

        int b = 20;

        Ref c = new Ref(50);

        test(a, b, c);

        System.out.println("a = " + a);

        System.out.println("b = " + b);

        System.out.println("c = " + c.getC());

    }

}

 

class Ref {

    private int c;

 

    public Ref(int c) {

        this.c = c;

    }

 

    public int getC() {

        return c;

    }

 

    public void setC(int c) {

        this.c = c;

    }

}

输出结果:

a = 20

b = 40

c = 80

a = 10

b = 20

c = 80

从输出结果中可以看出,在函数方法 Test 中,a、b、c 的值都已改变,但在主方法中,a、b 的值没有改变,而 c 的值已改变,这是因为在象调用方式中,c 是引用类型,所以 c 的值发生了改变。

总结

Java 函数方法的参数和调用方式是 Java 程序必不可少的一部分。传值调用是函数方法中最常用的调用方式,引用调用可以改变引用类型的变量的值,输出调用可以用形参的方式将数据传回调用者,可以根据需求选择合适的调用方式。