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重新初始化。