# 陣列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)