java中的参数传递
时间: 2023-11-23 15:07:39 浏览: 33
在Java中,参数传递有两种方式:值传递和引用传递。
值传递是指将参数的值复制一份传递给方法,方法中对参数值的修改不会影响原始值。例如:
```
public static void main(String[] args) {
int num = 10;
changeNum(num);
System.out.println(num); // 输出 10
}
public static void changeNum(int num) {
num = 20;
}
```
引用传递是指将参数的引用(地址)传递给方法,方法中对参数引用指向的对象的修改会影响原始对象。例如:
```
public static void main(String[] args) {
int[] arr = {1, 2, 3};
changeArr(arr);
System.out.println(Arrays.toString(arr)); // 输出 [2, 4, 6]
}
public static void changeArr(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i] *= 2;
}
}
```
需要注意的是,Java中的基本数据类型(如int、double等)是值传递,而对象类型(如String、数组等)是引用传递。但是,如果将一个对象类型的变量赋值给一个新的变量,那么实际上是将对象的引用(地址)复制了一份,新的变量和原变量指向同一个对象,因此修改新变量会影响原变量。