數組
數組的本質是一個相同數據類型的元素集合。元素是數組的組成部分,數組中每一個元素都可以使用唯一的索引值來訪問,這個索引值也可以叫做數組下標。數組是很多集合類的底層存儲結構,在瞭解java集合類之前大家先了解一下數組吧。
數組初始化
數組的聲明語法為
// type為類型 arrayName為數組變量名稱
type[] arrayName;
//如:
int[] numbers;
在進行數組初始化時,有靜態初始化和動態初始化兩種方式。
靜態初始化
靜態初始化是指在初始化數組時為數組的每個元素賦值,由元素的個數來決定數組的長度
int[] numbers = {1,2,3};
// 或者
numbers = new int[]{1,2,3};
動態初始化
動態初始化是指在初始化數組時指定數組長度,系統為每個元素分配初始值,之後再按照需要為每個元素修改值。
int[] numbers = new int[3];// 此時numbers中的元素為 0,0,0
numbers[0] = 1;// 將索引0的位置賦值為1
注意:數組的索引是從0開始的
二維數組
上面説的數組是一個一維數組,java可以構建多維數組,其實本質上來説還是一維數組,只是數組中的元素存儲的還是數組而已。
二維數組可以看做是一個表格,有行有列,二維數組中的每一個元素就代表了確定行列的一個單元格
二維數組的聲明為
// type為類型 arrayName為數組變量名稱
type[][] arrayName;
//如:
int[][] numbers;
靜態初始化
int[][] numbers = {{1,2,3},{1,2,3}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3}};
動態初始化
int[][] numbers = new int[3][3];// 此時numbers中的每個元素都為0
// 如果需要確認某個元素的話,需要指定兩個索引,第一個索引找到該位置下的一維數組,第二個索引找到所需要的元素
numbers[0][0] = 1;// 將該位置賦值為1
非矩形數組
由於第二個索引代表的是該索引位置對應的一維數組,每個索引下的數組長度不同時就是非矩形數組。
靜態初始化
int[][] numbers = {{1,2,3},{1,2,3,4}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3,4}};
動態初始化
// 第二個索引長度不指定,因為每個是不同的
int[][] numbers = new int[3][];
numbers[0] = new int[4];
numbers[1] = new int[5];
numbers[2] = new int[6];