一.數組的概念
數組是具有相同數據類型的一組數據的集合,例如球類的集合--足球,籃球,排球等。家用電器的集合--洗衣機,電視機,電風扇等。在程序設計中可以將這種集合看作數組。數組中的每個元素要具有相同的數據類型。Java中將數組看作對象,雖然基本數據類型不是對象(基本數據類型的包裝類就是對象)。但是由基本數據類型組成的數組則是對象。在程序設計中引用數組可以更有效的管理和處理數據。就經常用到的數組包括一維跟二維數組等。
二.一維數組
1.創建一維數組
聲明一個一維數組有兩種方法
數組元素類型 數組名稱 [ ]; 數組元素類型 [ ] 數組名稱;
語法如下:
int(int類型)array(數組名稱)[]; double [] dou;
聲明完成一維數組後,還不可以立即訪問,還要給他分配內存空間,指定數組長度。
數組名稱 = new 數組元素類型 [數組元素個數]‘
數組名稱:被鏈接到數組變量的名稱;
數組元素個數:指定數組變量的個數;
為數組分配內存語法如下:
array = new int [5];//數組長度為5.
引用變量array引用這個數組,如下所示:
array:array[0],array[1,array[2],array[3],array[4];
中括號[]內的數字為元素下標,也叫索引,指定下標或索引即可找到該元素。
數組通過下標來區分不同元素,下標從0開始,由於創建array數組的長度為5,所以下標為0-4;
聲明數組的同時也可以直接分配內存空間
數組元素類型 數組名 = new 數組元素類型[數組元素個數];
語法如下:
int month[ ] = new int[12];
上述代碼表示創建數組month,並指定長度為12.這種寫法為Java常用寫法。
2.數組賦值
數組可以與基本數組類型一樣進行初始化操作,也就是賦予初始值。數組的初始化可分別初始化數組的每一個元素。數組的初始化有以下三種方式:
3.獲取數組長度
初始化數組的時候,都會在內存佔用空間,內存空間的大小決定一維數組能夠存放多少元素,也就是數組長度。如果不知道數組的長大小的話,可以使用數組的length屬性,
int a = array.length
此時a的數值就是array數組的長度。
length:數組長度屬性,返回值為int類型。
獲取班級人數,代碼如下:
4.數組的使用場景
數組是常見的一種數據結構。
打印一年中每個月的天數,代碼如下:7
注:數組最常見的錯誤就是數組下標越界,例如
聲明長度為3的數組a;
但是訪問下標三時會發生運行時錯誤。
java.lang.ArrayIndexOutOfBoundsException: 3-- lang類型。數組下標越界異常:3
可以看到提示在代碼第六行。
三.二維數組
上文提到一維數組的聲明使用,但是如果元素過多,後面的元素查找困難,我們就可以把數組形成一個立體結構,就像酒店房間一樣,大量房間分配到每一個樓層,形成一個二維表結構。
二維數組常用於表示二位表,表中的信息以行和列形式比愛是,第一個下標代表元素所在的行,第二個下標表示元素所在的列。
1.創建二維數組
二維數組可以看作是特殊一位數組,有兩種聲明方式:
數組元素類型 數組名稱[ ] [ ] 數組元素類型 [ ] [ ] 數組名字;
聲明二維數組,語法如下:
int array[ ] [ ];
char [ ] [ ] array;
同一維數組一樣,二維數組同樣使用new關鍵字來分配內存,然後才可以訪問。
為二維數組分配內存有兩種方式:
2.二維數組賦值
二維數組的初始化與一維數組類似,但不同的是,二維數組有兩個下標,組成行列的矩陣。
使用三種方式初始化二維數組,代碼如下:
二維數組的每一個元素就是一維數組,所以賦值方式,大括號內再加大括號。
數組維度不確定可以三維,四維,甚至更多
int a[][][] = new int[3][5][7]
char b [][][][] = new char[2][4][6][8]
double c[][][][][] = new double [1][3][5][7][9]
輸出二維數組的元素,代碼如下:
四.數組的基本操作
1.遍歷數組
遍歷數組就是獲取數組中的每一個元素。通常遍歷數組都是使用for循環來實現。遍歷一維數組很簡單也很好理解,下面詳細介紹一下遍歷二維數組。
遍歷二維數組需要使用雙層for循環,通過數組的length屬性可以獲取數組長度。
2.填充和批量替換數組元素
數組中國的元素定義完成後,可通過arrays類的靜態方法fill()來對數組的元素進行分配,起到填充和替換的效果,語法如下:
Arrays.fill(int[] a,int value)
a 進行元素分配的數組
value 要存儲數組中的所有元素的值。
將空數組填滿數據,代碼如下:
以上就是我們第四章Java數組的第一小節,感謝讀者翻閱,辛苦小夥伴點個贊哦。