色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java形參傳遞和實(shí)參傳遞

在Java中,我們經(jīng)常會(huì)涉及到方法的調(diào)用。在方法調(diào)用過(guò)程中,我們需要傳遞參數(shù),而這些參數(shù)可以分為形參和實(shí)參兩種類型。形參是定義在方法簽名中的變量,而實(shí)參則是在調(diào)用方法時(shí)傳遞給方法的值或者變量。在Java中,形參和實(shí)參的傳遞涉及到傳值和傳引用兩種方式,這也是我們需要重點(diǎn)掌握的知識(shí)點(diǎn)。

public class ParamDemo {
public void changeValue(int a) {
a = 10;
}
public void changeArray(int[] arr) {
arr[0] = 10;
}
public static void main(String[] args) {
ParamDemo demo = new ParamDemo();
int num = 5;
demo.changeValue(num);
System.out.println("num=" + num); // 輸出為5,說(shuō)明在changeValue方法中a的修改并沒(méi)有影響到num的值
int[] arr = {1, 2, 3};
demo.changeArray(arr);
System.out.println("arr[0]=" + arr[0]); // 輸出為10,說(shuō)明在changeArray方法中修改了arr這個(gè)引用指向的數(shù)組的值
}
}

在上述代碼中,我們定義了兩個(gè)方法changeValue和changeArray,分別用來(lái)修改int類型的值和int數(shù)組中的元素值。在main方法中,我們分別對(duì)一個(gè)int類型的變量和一個(gè)int類型的數(shù)組進(jìn)行了調(diào)用,并輸出了它們?cè)谡{(diào)用結(jié)束后的值。結(jié)果表明,在changeValue方法中修改了形參a的值,并不會(huì)影響到主方法中的num變量;而在changeArray方法中,我們修改了arr數(shù)組的第一個(gè)元素,這個(gè)修改會(huì)影響到主方法中引用arr所指向的數(shù)組的值。

現(xiàn)在,我們來(lái)看一下Java中的參數(shù)傳遞方式。對(duì)于基本數(shù)據(jù)類型,Java采用的是值傳遞的方式,即將實(shí)參的值復(fù)制一份傳遞給形參,這樣,在方法中修改形參的值并不會(huì)影響到實(shí)參的值;而對(duì)于引用類型,Java采用的是引用傳遞的方式,即將實(shí)參的引用復(fù)制一份傳遞給形參,這樣,在方法中修改形參所指向的對(duì)象的值時(shí),會(huì)影響到實(shí)參所指向的對(duì)象的值。