Java學習筆記之陣列

不知為何就叫呵呵發表於2016-08-08

1.陣列是引用資料型別,引用資料型別傳遞的是記憶體的使用權,是一塊記憶體空間,它可以由多個單位同時使用。 
  而賦值的過程並不是把a陣列內的資料傳遞給b,而是把a陣列的記憶體使用權與b共享。所以當a和b共享同一個陣列記憶體時,不管改變陣列a內的值還是改變陣列b內的值,該陣列都會改變。

2.定義並初始化:

  2.1 int[] arr;

    arr=new int[5];

    for(int i=0;i<arr.length;i++) arr[i] = i;

  2.2 int[] arr=new int[5];

    for(int i=0;i<arr.length;i++) arr[i] = i;

  2.3 int[] arr = {1,2,3,4,5};

  2.4 int[] arr = new int[]{1,2,3,4,5};//中括號裡不能寫值;

3.陣列一旦確定長度即不可更改,陣列元素只能修改,不能刪除、增加。

4.陣列定義時,只給定長度而不賦值,會有預設值填充:

  int[] arr=new int[5];//arr[1]==0;

  double[] arr=new double[5];//arr[1]==0.0;float型別同樣為0.0

  String[] arr=new String[5];//arr[1]==null;

  boolean[] arr=new boolean[5];//arr[1]==false;

  char[] arr=new char[5];//輸出空值;

5.  int[] arr = new int[10];

   arr=Arrays.copyOf(arr,arr.leng/2);//從新為陣列賦值,通常用於改變陣列長度,之所以可以改變陣列長度,

                     // 是因為arr是對陣列的引用,而非陣列的本身,這相當於重新使arr指向另一個陣列,為arr重新初始化。

相關文章