Java中的array(陣列)屬於引用的數據類型,是Java中的一種儲存容器(儲存在記憶體),可以存放任何的數據型別,包括基本型別和引用型別。
byte、short、int、long
float、double
char
boolean
array有幾個特性:array會有一個長度length。index(索引)。index從0 開始,所以array 最後一個元素的index 會是array 的length - 1。| index | 值 |
|---|---|
| 0 | 台北 |
| 1 | 新北 |
| 2 | 桃園 |
| 3 | 新竹 |
| 4 | 苗栗 |
| 5 | 台中 |
| 6 | 彰化 |
| 7 | 雲林 |
💡 以上方的表格來對應,array的第1個是台北,但是它的索引會是0。
array需要關注的重點:array的指定元素。array的屬性:例如length代表array長度。array的遍歷。遍歷:對每一個元素進行操作。一維array的記憶體解析。array的方式第一種:靜態宣告(在宣告array時就將值一起賦值)
int[] arr;
arr = new int[]{1,2,3,4};
int[] arr1 = new int[]{1,2,3,4}; // 也可以這樣寫
int[] arr2 = {1,2,3,4}; // 也可以這樣寫
第二種:動態宣告
int[] arr;
arr = new int[4];
arr[0] = 1
arr[1] = 2;
System.out.println(arr[0]); // 1
錯誤:
index 為 4 (array的第5個位置)賦值已經超出array的長度。int[] arr = new int[4];
arr[4] = 10;
💡為什麼無法新增第5個值在
array的第5個位置,因為當宣告array時,長度已經被固定在記憶體中,在宣告時會根據array的長度找到能夠放進這個長度的位置,在這個長度外的位置(不管是前後左右)有可能已經拿去存放其他的值,所以無法將array的長度更動,如果真的要增加長度,必須新增一個新的array(一般會使用複製的方式去新增)。
array的值: 透過array的變數名和index。int[] arr = {1,2,3,4};
System.out.println(arr[0]); // 1
array:透過array.length可以取得array的長度,再使用for循環即可對array的每一個元素進行相對應的操作。int[] arr = {1,2,3,4};
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 1
// 2
// 3
// 4
array時使用動態宣告,但是並未賦值時,每一個相對應的型別都有自己的初始值:byte、short、int、long ): 0float、double): 0.0char): 0 (也可以看成是用'\u0000')Classes、Interfaces、Arrays、Enums、Records、Annotaions): null💡靜態宣告時也可看成是一開始宣告時都是初始值,只是又馬上將初始值轉換成所賦的值。