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

学习Java函数参数和返回值的传递

发布时间:2023-07-06 00:44:37

Java函数参数和返回值的传递是指在调用函数时,参数和返回值在方法调用过程中的传递方式。Java中有两种传递方式:值传递和引用传递。

值传递是指将实际参数的值复制一份给形式参数,将这份复制的值传递给函数进行调用。在函数中对参数的修改不会影响到实际参数的值。例如:

public static void changeValue(int num) {
   num = 10;
}

public static void main(String[] args) {
   int num = 5;
   System.out.println("Before change: " + num);
   changeValue(num);
   System.out.println("After change: " + num);
}

输出结果为:

Before change: 5
After change: 5

在上面的例子中,changeValue函数的形式参数num被赋予了实际参数num的值5,但在函数内部对形式参数num的修改不会影响到实际参数num的值。

引用传递是指将实际参数的引用传递给形式参数,实际参数和形式参数指向同一内存地址,函数内部对参数的修改会影响到实际参数的值。例如:

public static void changeValue(int[] array) {
   array[0] = 10;
}

public static void main(String[] args) {
   int[] array = {5};
   System.out.println("Before change: " + array[0]);
   changeValue(array);
   System.out.println("After change: " + array[0]);
}

输出结果为:

Before change: 5
After change: 10

在上面的例子中,changeValue函数的形式参数array接收了实际参数array的引用,对形式参数array的修改会影响到实际参数array,所以在函数调用后,实际参数array的值被修改为10。

在Java中,基本数据类型(如int、char、boolean等)和String类型是按值传递的,而数组和对象类型是按引用传递的。要注意的是,Java中不支持引用传递的引用,即无法修改传递的引用指向的对象。