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

Java函数传参和返回值的方法。

发布时间:2023-07-01 21:03:54

Java中,函数的参数传递和返回值都是通过值传递的方式进行的。具体来说,函数的参数传递是将实参的值复制一份给形参,而返回值是将函数中的结果值复制一份返回给调用者。

对于函数的参数传递,Java中有两种传递方式:按值传递和按引用传递。

按值传递是指将实参的值复制一份给形参,形参接收到的是实参的副本,任何对形参的修改都不会影响到实参本身。这是因为Java中的基本数据类型(如整型、浮点型、布尔型等)都是按值传递的。

例如,下面的代码示例中,changeValue函数中的形参x接收到了实参a的副本,任何对x的修改都不会影响到a的值。

public class Main {
    public static void main(String[] args) {
        int a = 10;
        changeValue(a);
        System.out.println(a);  // 输出:10
    }
    
    public static void changeValue(int x) {
        x = 20;
    }
}

按引用传递是指将实参的引用值复制一份给形参,形参接收到的是实参的地址,可以通过形参来修改实参指向的对象的属性值。这是因为Java中的引用类型(如数组、字符串、自定义类等)都是按引用传递的。

例如,下面的代码示例中,changeArray函数中的形参arr接收到了实参array的引用副本,可以通过arr修改实参array指向的数组的元素值。

public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3};
        changeArray(array);
        System.out.println(array[0]);  // 输出:10
    }
    
    public static void changeArray(int[] arr) {
        arr[0] = 10;
    }
}

对于函数的返回值,是将函数中的结果值复制一份返回给调用者。返回值的类型可以是基本数据类型或引用类型。如果函数没有返回值,则返回类型为void。

例如,下面的代码示例中,getSum函数的返回类型为int,返回的是a和b的和。

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int sum = getSum(a, b);
        System.out.println(sum);  // 输出:30
    }
    
    public static int getSum(int x, int y) {
        return x + y;
    }
}

需要注意的是,函数的返回值只是将结果值复制一份返回给调用者,对返回值进行修改不会影响到函数内部的结果值。

综上所述,Java中函数的参数传递和返回值都是通过值传递的方式进行的。参数传递是将实参的值复制一份给形参,返回值是将函数中的结果值复制一份返回给调用者。