Java基礎——方法傳值(基本數據類型 VS 引用數據類型)


總結——基本數據類型傳值,引用類型傳地址

在Java語言中,不管參數的類型是引用類型還是基本數據類型,數據參數和形式參數進行值傳遞的方式只有一種——參數值的值 復制一份 賦值給形式參數

所以,實參的值,其實就有兩份,調用方法中一份,被調用方法中一份

1、當方法的參數是基本數據類型的參數時,參數有兩份,同時參數對應的數據的值也有兩份

2、當方法的參數是引用類型時,參數值有兩份,但是兩個數組類型引用變量,對應的值(數組),只有一個

public class Demo1 {

  public static void main(String[] args) {
    //int a = 10;
    //int b = 20;
    //System.out.println("a:" + a + ",b:" + b);
    //change(a, b);
    //System.out.println("a:" + a + ",b:" + b);

    //--------------------------------------------------------------------

    int[] arr = {1, 2, 3, 4, 5};
    change(arr);
    System.out.println(arr[1]);
  }

  public static void change(int a, int b) {
    System.out.println("change a:" + a + ",b:" + b);
    a = b; // a = b
    b = a + b; //b = b + b = 2b
    System.out.println("change a:" + a + ",b:" + b);
  }

  public static void change(int[] arr) {
    for (int x = 0; x < arr.length; x++) {
      if (arr[x] % 2 == 0) {
        arr[x] *= 2;
      }
    }
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM