Java數(shù)組
定義:數(shù)組是具有相同數(shù)據(jù)類型的一組數(shù)據(jù)的集合缀旁。數(shù)組根據(jù)維數(shù)的不同分為一維數(shù)組、二維數(shù)組和多維數(shù)組勺鸦。數(shù)組是引用類型并巍。
-
創(chuàng)建數(shù)組并分配內(nèi)存:在使用數(shù)組之前,必須首先定義數(shù)組變量所屬的類型换途。
聲明數(shù)組:
數(shù)組元素類型[] 數(shù)組名字
或數(shù)組元素類型 數(shù)組名字[]
分配內(nèi)存:
數(shù)組名字 = new 數(shù)組元素類型[數(shù)組元素的個(gè)數(shù)]
注:聲明數(shù)組和分配內(nèi)存可以寫在一起懊渡。
- 數(shù)組元素類型:決定了數(shù)組的數(shù)據(jù)類型,可以是Java中任意的數(shù)據(jù)類型军拟,包括基本數(shù)據(jù)類型和非基本數(shù)據(jù)類型剃执。
- []:指明該變量是一個(gè)數(shù)組類型變量,單個(gè)[]表示要?jiǎng)?chuàng)建的是一維數(shù)組懈息。
-
new
:對數(shù)組分配空間的關(guān)鍵字(使用new
關(guān)鍵字為數(shù)組分配內(nèi)存時(shí)肾档,數(shù)組中各個(gè)元素的初始化為默認(rèn)值)。 - 數(shù)組元素的個(gè)數(shù):數(shù)組創(chuàng)建后大小不可改變
int[] month = new int[12];//創(chuàng)建了一個(gè)數(shù)組長度為12的int型數(shù)組
-
初始化數(shù)組:數(shù)組的初始化可分別初始化數(shù)組中的每個(gè)元素辫继,有兩種方式:
int[] arr = new int[]{1,2,3,4}; int[] arr2 = {4,5,6,7}; //編譯器會(huì)自動(dòng)推算數(shù)組大小
-
使用索引(下標(biāo))訪問數(shù)組元素怒见,
.length()
可以獲得數(shù)組長度:arr2[0] = 23; System.out.println(arr2[0]);//23 System.out.println(arr2[1]);//5 System.out.println(arr.length);//4
-
數(shù)組是引用類型。
int[] arr3 = arr; //arr3和arr指向了同一個(gè)數(shù)組姑宽,當(dāng)對arr3進(jìn)行修改時(shí)遣耍,arr的值也會(huì)發(fā)生改變 arr[0] = 999; System.out.println(arr3[0]);//999
-
Arrays.toString()
快速打印數(shù)組內(nèi)容//直接打印數(shù)組變量,得到的是數(shù)組在JVM中的引用地址 String[] fruits = {"apple", "banana", "strawberry"}; System.out.println(fruits);//[Ljava.lang.String;@61bbe9ba //使用Arrays.toString() System.out.println(Arrays.toString(fruits));//[apple, banana, strawberry]
-
遍歷數(shù)組
-
for( ; ; )
循環(huán)通過下標(biāo)遍歷數(shù)組 -
for each
循環(huán)直接迭代每個(gè)數(shù)組元素炮车,無法直接訪問索引
public class Test { public static void main(String[] args) { //for each循環(huán)遍歷數(shù)組 String[] weekdays = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}; for (String weekday : weekdays) { System.out.println(weekday); } //for循環(huán)遍歷數(shù)組 int[] scores = {89, 88, 93, 80, 96}; for (int i = 0; i < scores.length; i++) { System.out.println(scores[i]); } } }
-