Java陣列-引用資料型別
阿新 • • 發佈:2018-12-18
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動態陣列動態擴容方法