1. 程式人生 > >Java陣列-引用資料型別

Java陣列-引用資料型別

1.陣列初始化

1.1動態初始化(宣告並開闢陣列)

資料型別[ ] 陣列名稱=new 資料型別[長度]

eg:int[] data =new int[5];

a、陣列通過下標索引來取得元素,下標預設從0開始。陣列下標超出陣列長度,陣列越界異常(執行時異常) b、陣列中每個元素都有預設值,預設值是該資料型別預設值。 c、陣列名稱.length:取得陣列長度 d.陣列遍歷推薦使用for-each迴圈(僅限於陣列內容讀取),要修改陣列內容,還是使用常規for迴圈

for(int x:data){...}

遍歷陣列:
for(int x:data)
{
  System.out.println(x+" ");
}

陣列屬於引用資料型別,必須在使用前先初始化。否則會報NullPointerException(空指標異常,執行時異常)

引用傳遞:多個棧記憶體指向同一塊空間

1.2陣列靜態初始化

簡化格式:資料型別[]陣列名稱={值,值…} 完整格式:資料型別[]陣列名稱=new 資料型別{值,值…}

eg:int[] data =new int[]{1,2,3};

在陣列定義時直接設定內容,根據值的個數確定陣列長度,且長度不可修改。

1.3二維陣列

動態初始化:資料型別[][] 陣列名稱 =new 資料型別[行個數][列個數]

eg:int[][] data = new int [3][4];

靜態初始化資料型別[][] 陣列名稱=new 資料型別[][]{{第一行的值},{第二行的值}…} 陣列與方法的互操作–引用傳遞 方法接收陣列 方法返回陣列 方法修改陣列

1.4Java對陣列的支援

1.排序–java.util.Arrays.sort(陣列名稱) -----支援所有基本資料型別陣列 -----內部使用雙軸快速排序

2.陣列部分拷貝

System.arraycopy(源陣列名稱,源陣列開始點,目標陣列名稱,目標陣列開始點,拷貝長度);

3.陣列全拷貝**

java.util.Arrays.copyOf(源陣列名稱,新陣列長度):int[ ] java動態陣列動態擴容方法