6.2 數組基本語法
了解了數組的概念以後,下面來看一下數組的語法格式。數組的語法格式主要有四種:數組聲明、數組初始化、引用數組元素和獲得數組長度。
6.2.1 數組聲明
和變量類似,數組在使用以前也必須聲明,數組的聲明語法格式為:
數據類型數組名稱[]
或:
數據類型[] 數組名稱
例如:
int m[];
char c[];
double d[];
這裡的數據類型可以是Java語言的任意數據類型,也就是說既可以是基本數據類型也可以是復合數據類型。在聲明數組時使用一對中括號,該對中括號既可以放在數據類型的後面,也可以放在數組名稱的後面。數組名稱是一個標識符,可以根據需要設置其名稱,在程序中使用該名稱代表該數組。
這兩種聲明的語法格式在實際使用時完全等價,可以根據習慣進行使用。
數組聲明以後在內存中不占用空間,沒有地址,由於數組是復合數據類型,所以聲明完成以後其默認值是null。
數組聲明以後不能直接使用,必須對其初始化以後才可以進行使用。
6.2.2 數組初始化
數組初始化就是對數組進行賦值。數組的初始化語法分為兩種:靜態初始化和動態初始化。靜態初始化適用於已知數組所有元素的值,一次初始化所有元素,動態初始化只申請空間,每個元素的值是數組聲明時數據類型對應的初始值。
6.2.2.1 靜態初始化
靜態初始化,也稱數組的整體賦值,是一次為數組中所有元素依次進行賦值的語法,通過可以語法可以指定數組中每個元素的值,同時也指定了數組的長度。
語法格式為:
數據類型[] 數組名稱 = {值1,值2,……,值n};
例如:
int[] m = {1,2,3,4};
char c[] = {‘a’,’f’,’d’};
靜態初始化必須和數組的聲明位於同一行,換句話說,只能在聲明數組的同時進行靜態初始化。數組中的所有元素書寫一對大括號的內部,系統按照值的書寫順序依次為數組運算進行賦值,例如數組m,則將1賦值給m數組的第一個元素,2賦值給m數組的第二個元素,依次類推,數組的總長度等於靜態初始化時數值的個數。在實際書寫時,需要注意,值的類型必須和數組聲明時的類型匹配,或者可以自動進行轉換。
在實際程序中,靜態初始化一般書寫一組已知的無規律數值,這樣書寫起來比較簡單,格式比較統一。
6.2.2.2 動態初始化
動態初始化,也就是只為數組指定長度,並且在內存中申請空間。動態初始化可以不必和數組的聲明放在一起,也可以重新初始化一個初始化的數組。
動態初始化的語法格式:
數據類型[] 數組名稱 = new 數據類型[長度];
例如:
int[] m = new int[10];
char[] c;
n = new char[3];
動態初始化使用new關鍵字進行初始化,new關鍵字後續的數據類型要求和數組聲明時的數據類型一樣,中括號內部是需要初始化的數組長度,該長度值可以是數字也可以是整型變量,如果是整型變量則不能為long型。在實際使用時,也可以先聲明再進行動態初始化。
動態初始化指定了數組的長度,在內存中申請了對應長度的空間,而每個元素的值取數組數據類型對應的默認值。默認值的規定如下:
a、boolean類型的默認值是false。
b、其它7種基本數據類型是0。說明:char的默認值是編碼為0的字符,而不是字符0。
c、復合數據類型的初始值是null。
動態初始化只專注於為數組申請對應長度的空間,具體存儲的元素的值可以根據需要依次進行指定。
6.2.3 引用數組元素
數組是一組數的集合,在實際使用時還需要引用數組中的每個元素。則引用數組中元素的語法格式為:
數組名稱[下標]
其中下標指數組中每個元素的索引值,Java語法規定數組中的第一個元素索引值是0,第二個是1,依次類推。在程序書寫時,下標位置既可以書寫常數也可以書寫變量。而整個引用元素的表達式可以看作是一個變量,該變量的類型和數組的類型一致。
示例代碼如下:
int[]m = {3,2,4,6};
m[1] = 4;
m[2] = m[3] + m[0];
在代碼中,可以使用變量作為下標,示例代碼如下:
char[] ch = new char[10];
int i = 2;
ch[i] = ‘a’;
使用變量作為數組的下標,極大的增強了數組元素使用的靈活性,也是靈活使用數組必須深刻理解的內容。
因為數組的下標都從0開始,所以有效的數組下標區間是0到數組的長度減1,其它的下標都是非法的。在代碼中出現非法的下標不會出現語法錯誤,但是會導致運行時出現異常。
6.2.4 獲得數組長度
為了方便的操作數組,Java語法中提供了獲得數組長度的語法格式。對於一個已經初始化完成的數組,獲得該數組長度的語法格式為:
數組名稱.length
示例代碼如下:
int[] n = {1,2,3,4,6};
int len = n.length;
則在該代碼中n.length代表數組n的長度,由數組的初始化可以看出數組n的長度是5,則變量len的值將是5。使用該語法,可以只需要知道數組的名稱就可以獲得數組的長度,便於靈活操作數組。
綜合前面下標的語法和長度的語法,則輸出數組n中所有元素的代碼為:
for(int i = 0;i < len;i++){
System.out.println(n[i]);
}
這種使用數組的方式稱作數組的遍歷,遍歷數組是使用數組的基礎,也是很多和數組相關邏輯實現的基礎。
關於數組的語法就介紹這麼,下面通過一些示例來演示數組的實際使用。
文章來源:http://blog.csdn.net/Mailbomb/archive/2008/06/22/2575433.aspx