有些時候,我們需要對很多相同數據類型的數進行集中或者統一處理的時候,我們可以利用數組來幫助我們對數據進行管理。
數組就是相同數據類型的元素按一定順序排列的集合。我們可以把它看成一個大的盒子,里面按順序存放了多個數據類型相同的數據。
比如:定義一個int型數組ages存儲四個人的年齡,數組中的元素都可以通過下標來訪問,下標從 0 開始。例如,可以通過 ages[0] 獲取數組中的第一個元素 18 ,ages[2] 就可以取到第三個元素 34。
我們要使用數組,首先我們得對數組進行聲明。
語法:
數據類型[ ] 數組名; //或者: 數據類型 數組名[ ];其中,數組名可以是任意合法的變量名,如:
int ages[]; //存放年齡的數組,類型為整型char symbol[]; //存放符號的數組,類型為字符型String [] name; //存放名稱的數組,類型為字符串型 當我們聲明了數組后,需要為數組分配空間,也就是定義多大的數組。
語法:
數組名 = new 數據類型 [ 數組長度 ]; 數組長度就是數組最多可存放元素的個數。我們也可以在數組聲明的時候初始化數組,或者在聲明時就為它分配好空間,這樣我們就可以不用再為數組分配空間。
語法:
int [] ages = {12,18,9,33,45,60}; //聲明并初始化了一個數組,它有6個元素char [] symbol = new char[10] //聲明并分配了一個長度為10的char型數組 分配空間后就可以向數組中放數據了,數組中元素都是通過下標來訪問的。
一維數組
數組可以分為一維數組和多維數組。一維數組是由數字組成單純的線性結構的數組,簡單來理解就是一串數。在上面的例子中都是一維數組。
一維數組我們可以根據簡單地循環進行遍歷操作。
比如:我們想要在控制臺上輸出我們上面定義的數組ages。
int [] ages = {12, 18, 9, 33, 45, 60};for(int i = 0; i < ages.length; i++){ //ages.length是獲取數組的長度 System.out.PRintln("數組中第"+(i+1)+"個元素是 "+ages[i]); //數組下標是從零開始,一定要注意}運行結果:

注意:
數組下標從 0 開始。所以數組的下標范圍是0 至 數組長度-1。
數組不能越界訪問,否則會報錯。
for 語句在數組內可以使用特殊簡化版本,在遍歷數組、集合時,foreach 更簡單便捷。從英文字面意思理解 foreach 也就是“ for 每一個”的意思。
語法:
for(元素類型 元素變量:遍歷對象){ 執行的代碼}例如上面的例子:
public class JudgePrime { public static void main(String[] args){ int [] ages = {12, 18, 9, 33, 45, 60}; int i = 1; for(int age:ages){ System.out.println("數組中第"+i+"個元素是"+age); i++; } }}二維數組
在我們的編程生涯中除了一維數組之外我們還會遇到許多多維數組的應用,其中二維數組是最常見的。
二維數組可以看成是一間有座位的教室,座位我們一般用第幾排的第幾個進行定位,每一個座位都有一個行和一個列的屬性,一排的座位相當于一個一維數組,所以我們可以將二維數組簡單的理解為是一種“特殊”的一維數組,它的每個數組空間中保存的是一個一維數組。
二維數組也需要聲明和分配空間。
語法:
數據類型 [][] 數組名 = new 數據類型[行的個數][列的個數];//或者數據類型 [][] 數組名;數組名 = new 數據類型[行的個數][列的個數];//也可以數據類型 [][] 數組名 = {{第一行值1,第一行值2,...},{第二行值1,第二行值2,...},...}//二維數組的賦值和訪問,跟一維數組類似,可以通過下標來逐個賦值和訪問,注意索引從 0 開始數組名[行的索引][列的索引] = 值;例子:
String [][] name = {{"ZhaoYi", "QianEr", "SunSan"}, {"LiSi", "ZhouWu", "WuLiu"}}; for(int i = 0; i < 2; i++){ for (int j = 0; j < 3; j++){ System.out.println(name[i][j] ); } }
新聞熱點
疑難解答