# 陣列2 Java的陣列有三種 ## 第1種陣列 不是這麼常用,使用機率不到一成 ```java= //建立實體 int[] x=new int[5]; //長度為5,索引值(index)從0開始,數下來為0,1,2,3,4 x[0]=1; x[1]=2; x[3]=4; //沒指定的預設為0 for(int i=0;i<xlength;i++){ ...println(x[i]);//只輸入x只會印出記憶體位置 } ``` ```java=+ for(int y:x){ ...println(y); } ``` ```java=+ int i=0; while(i<x.length){ ...println(x[i]); i++; } ``` ```java= do { System.out.println(x[v]); v++; }while(v < x.length); ``` ## 第2種陣列 使用機率兩成 ```java= int[] x=new int[]{1,2,3,4};//個數=長度 ``` 補充:物件導向 - 把method打包,再使用 ## 第3種陣列 使用率七成 ```java= int[] arr= {1,2,3}; method03(arr); ``` ## 使用陣列的原因 - 好控管 - 程式碼層面 - 記憶體 - 陣列銷毀記憶體也會銷毀 ## 陣列的應用範例 ```java= int total=0; int[] arr= {1,2,3,10}; for(int i=0;i<arr.length;i++){ total+=arr[i]; } myprint(arr); ``` ```java= public static void main(String[] args) { int total = 0; int[] arr = { 1, 2, 3, 10 }; for (int i = 0; i < arr.length; i++) { if (arr[i] == 3) { break; } else { total += arr[i]; } } System.out.println(total); } ``` - 備註:`break`跟`continue`可以控制迴圈 ## 放整數以外的陣列 ```java= char[] arr={'a','b'}; //字元陣列 ``` ```java= p... s... void method01(){ ...} ``` ## 二維陣列 ```java= public static void main(String[] args) { int[][] arr= { {1,2,3}, {4,5,6}, {7,8,9} }; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ System.out.print(arr[i][j]+","); } System.out.println(); } } ``` 陣列的讀取順序是先讀外再讀內 ### 回家作業 去除上方程式碼輸出後最後一排的逗號,老師給的提示: (還有很多種寫法,僅供參考) ```java= for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ if(){ System.out.print(arr[i][j]+","); }else{ System.out.print(arr[i][j]); } } System.out.println(); } ``` - `arr[].length`可以指定特定陣列的長度數值 [我的嘗試](/q7cWoJgCRj6vpbhq3LDWkw)