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

Java中的函数参数传递方式详解:值传递和引用传递

发布时间:2023-06-23 03:36:01

Java中的函数参数传递方式可以分为两种,分别是值传递和引用传递。本文将对这两种函数参数传递方式进行详细介绍。

一、值传递

值传递是指传递的参数是变量的值本身,也就是说函数中并不会修改传递进来的变量。Java中的基本数据类型,如int、double、boolean等都是采用值传递的方式进行参数传递的。例子如下:

public class Test {

    public static void swap(int x, int y) {

        int temp = x;

        x = y;

        y = temp;

    }

    public static void main(String[] args) {

        int a = 1;

        int b = 2;

        swap(a, b);

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

    }

}

运行结果为:a=1,b=2。说明swap方法没有改变a和b的值,即使在swap方法中交换了a和b的值,但是在主函数main中a和b的值仍然没有变化,因此可以得出Java中的基本类型是采用值传递的方式传递参数的。

二、引用传递

引用传递是指传递的参数是对象的引用,也就是说函数中会修改传递进来的对象。Java中的对象都是采用引用传递的方式进行参数传递的。例子如下:

public class Test {

    public static void swap(int[] arr) {

        int temp = arr[0];

        arr[0] = arr[1];

        arr[1] = temp;

    }

    public static void main(String[] args) {

        int[] arr = {1, 2};

        swap(arr);

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

            System.out.println(arr[i]);

        }

    }

}

运行结果为:2 1。说明通过swap方法交换了arr数组中 个元素和第二个元素的值,在主函数main中输出了交换后的结果,因此可以得出Java中的对象是采用引用传递的方式传递参数的。

总结

值传递和引用传递是Java中常用的两种函数参数传递方式,它们的不同点主要在于传递的参数是基本类型的值还是对象的引用。对于基本类型的值,采用值传递方式;对于对象的引用,采用引用传递方式。在函数内部对于传递进来的参数进行操作时,不管是值传递还是引用传递都会对应不同的实现方式。因此,在编写程序时,在不同的情况下应该采用不同的函数参数传递方式,并根据需要书写对应的函数实现方式。