欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java的值傳遞和引用傳遞參數

阮建安1年前8瀏覽0評論

在Java中,傳遞參數有兩種方式:值傳遞和引用傳遞。在值傳遞中,參數的值被復制到一個新的變量中,而在引用傳遞中,參數傳遞的是變量的地址。

下面看一個簡單的示例:

public class Test {
public static void main(String[] args) {
int a = 10;
String b = "hello";
System.out.println("a的值為:" + a);
System.out.println("b的值為:" + b);
change(a, b);
System.out.println("a的值為:" + a);
System.out.println("b的值為:" + b);
}
public static void change(int a, String b) {
a = 20;
b = "world";
System.out.println("a的值為:" + a);
System.out.println("b的值為:" + b);
}
}

以上代碼輸出:

a的值為:10
b的值為:hello
a的值為:20
b的值為:world
a的值為:10
b的值為:hello

在change方法中,我們將a的值設為20,將b的值設為"world",然而在main方法中,a的值仍然是10,b的值仍然是"hello"。這是因為,在Java中,對于基本數據類型的參數,傳遞的是值,而不是地址。

對于引用類型的參數,傳遞的是地址。下面看一個示例:

public class Test {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
System.out.println(Arrays.toString(arr));
change(arr);
System.out.println(Arrays.toString(arr));
}
public static void change(int[] arr) {
for (int i = 0; i< arr.length; i++) {
arr[i] *= 2;
}
System.out.println(Arrays.toString(arr));
}
}

以上代碼輸出:

[1, 2, 3]
[2, 4, 6]
[2, 4, 6]

在change方法中,我們將數組arr中的每個元素都乘以2,結果也輸出了。而在main方法中,調用完change方法后,arr的值也被改變了。

總結來說,Java中的值傳遞和引用傳遞的區別在于傳遞參數的方式不同。對于基本數據類型的參數,傳遞的是值,而對于引用類型的參數,傳遞的是地址。