1. 程式人生 > 其它 >java--方法引數的值傳遞機制

java--方法引數的值傳遞機制

技術標籤:java

java的值傳遞機制

java中方法的引數傳遞的方式只有一種:值傳遞,即將實際引數值的副本傳入方法中,而引數本身不受影響
形參是基本資料型別,將實參基本資料型別變數的“資料值”傳遞給形參
形參是引用資料型別,將實參引用資料型別變數的“地址值”傳遞給形參

交換兩個數的值
/*
java的值傳遞機制,交換兩個數的值
 */
public class ValueTransferTest {

    public static void main(String[] args) {

        int m=10;
        int n=20;
        ValueTransferTest transferTest=
new ValueTransferTest(); transferTest.swap(m,n); System.out.println("m = "+m+", n= "+n); } public void swap(int m,int n){ int temp=m; m=n; n=temp; } }

這裡使用基本資料型別,傳遞的是m和n的值的copy,而不是m和n本身,所以當方法執行完之後,方法的形參被銷燬,而main方法裡的m和n還是不變

交換兩個數的值–傳入引用
/**
 * 交換兩個數的值,引用傳遞
 */
public class ValueTransferTest2 {

    public static void main(String[] args) {
        int[] data=new int[]{10,20};

        ValueTransferTest2 valueTransferTest2=new ValueTransferTest2();
        valueTransferTest2.swap(data);
        System.out.println("m = "
+data[0]+",n = "+data[1]); } public void swap(int[] data){ int temp=data[0]; data[0]=data[1]; data[1]=temp; } }

引用型別,傳入的是物件的地址,那麼形參和實參同時指向同一個物件。