Java編程那些事兒44—數組基礎文法

來源:互聯網
上載者:User
 

Java編程那些事兒44—數組基礎文法鄭州遊戲學院 陳躍峰出自:http://blog.csdn.net/mailbomb 6.2 數組基本文法         瞭解了數組的概念以後,下面來看一下數組的文法格式。數組的文法格式主要有四種:數組聲明、數組初始化、引用數組元素和獲得數組長度。 6.2.1 數組聲明         和變數類似,數組在使用以前也必須聲明,數組的聲明文法格式為:              資料類型 數組名稱[]     或:              資料類型[] 數組名稱         例如:                   int m[];                   char c[];                   double d[];         這裡的資料類型可以是Java語言的任意資料類型,也就是說既可以是基礎資料型別 (Elementary Data Type)也可以是複合資料型別。在聲明數組時使用一對中括弧,該對中括弧既可以放在資料類型的後面,也可以放在數組名稱的後面。數組名稱是一個標識符,可以根據需要設定其名稱,在程式中使用該名稱代表該數組。         這兩種聲明的文法格式在實際使用時完全等價,可以根據習慣進行使用。         數組聲明以後在記憶體中不佔用空間,沒有地址,由於數組是複合資料型別,所以聲明完成以後其預設值是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種基礎資料型別 (Elementary Data Type)是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]);                   }         這種使用數組的方式稱作數組的遍曆,遍曆數組是使用數組的基礎,也是很多和數組相關邏輯實現的基礎。         關於數組的文法就介紹這麼,下面通過一些樣本來示範數組的實際使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.