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

java 值傳遞和引用傳遞的區(qū)別

Java中的方法調(diào)用參數(shù)傳遞有兩種方式:值傳遞和引用傳遞。值傳遞是將方法調(diào)用時(shí)傳遞的參數(shù)值賦值給新的變量,而引用傳遞是把實(shí)際參數(shù)的引用(內(nèi)存地址)復(fù)制一份傳遞給方法參數(shù)。

// 在Java中定義一個(gè)方法
public void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
// 在主方法中調(diào)用swap方法,并打印結(jié)果
int a = 10;
int b = 20;
swap(a, b);
System.out.println("a = " + a + ", b = " + b);
// 輸出結(jié)果:a = 10, b = 20

在上面的代碼中,交換方法swap中的參數(shù)是按值傳遞的,因此當(dāng)我們執(zhí)行swap(a, b)時(shí)并不會(huì)改變a和b的值。

// 在Java中定義一個(gè)方法
public void change(int[] arr) {
arr[0] = 100;
}
// 在主方法中調(diào)用change方法,并打印結(jié)果
int[] arr = new int[]{1, 2, 3, 4, 5};
change(arr);
System.out.println(Arrays.toString(arr));
// 輸出結(jié)果:[100, 2, 3, 4, 5]

在上面的代碼中,修改方法change中的參數(shù)是按引用傳遞的,因此當(dāng)我們執(zhí)行change(arr)時(shí)會(huì)改變arr的值,即將第一個(gè)元素改為100。