如何在Java中使用函数传递参数
发布时间:2023-09-18 00:46:53
在Java中,函数传递参数可以通过值传递和引用传递的方式进行。
1. 值传递
值传递是指将实参的值复制一份给形参,函数内部对形参的修改不会影响实参的值。Java中的基本类型数据(int、float、char等)都是通过值传递进行参数传递。
例如:
public class Main {
public static void main(String[] args) {
int a = 10;
System.out.println("调用前a的值为:" + a);
changeValue(a);
System.out.println("调用后a的值为:" + a);
}
public static void changeValue(int b) {
b = 20;
}
}
输出结果为:
调用前a的值为:10 调用后a的值为:10
在上述例子中,changeValue方法中的形参b被赋值为20,但对实参a的修改没有影响,因为它们是两个不同的变量。
2. 引用传递
引用传递是指将实参的引用地址传递给形参,在函数内部通过形参可以修改实参的值。Java中的引用类型数据(数组、对象等)都是通过引用传递进行参数传递。
例如:
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3};
System.out.println("调用前array的值为:" + Arrays.toString(array));
changeArray(array);
System.out.println("调用后array的值为:" + Arrays.toString(array));
}
public static void changeArray(int[] arr) {
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
}
}
输出结果为:
调用前array的值为:[1, 2, 3] 调用后array的值为:[10, 20, 30]
在上述例子中,changeArray方法中的形参arr指向了实参array的引用地址,并通过形参修改了实参array的值。
需要注意的是,在引用传递中,如果在函数内部创建了一个新的对象并赋值给形参,那么它将不再指向原来的实参。
总结:在Java中,函数传递参数可以通过值传递和引用传递的方式进行。基本类型数据通过值传递,引用类型数据通过引用传递。在函数内部对形参的修改不会影响实参的值,但通过形参可以修改实参的值。
