学习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中不支持引用传递的引用,即无法修改传递的引用指向的对象。
