SCJP認證 1.5.4(3) 變量聲明

數組聲明

在Java中,數組是對象,它存儲同一類型的多個變量,uozhe同一類型的全部子類的變量。數組能夠保存基本類型或對象引用,但是數組本身總是堆中的對象,及時數組被聲明爲用以保存基本類型的元素也是如此。換句話說,沒有基本數組,但你能夠建立這樣的數組。

對於考試,需要了解3件事情:

  • 怎樣獲得數組引用變量(聲明) 。
  • 怎樣建立數組對象(構造) 。
  • 怎樣用元素填充數組(初始化) 。

 就本節而言,你只需知道如何聲明數組,第三章將介紹構造和初始化數組的方法。

 

實際應用

數組是高效率的,但是多數情況下你會想到使用java.util中的Collection類型(包括HashMapArrayListTreeSet)。Collection類爲訪問對象提供了更加靈活的方法(如插入、刪除、讀取等),並且與數組不同,Collection類能夠隨着添加和刪除元素而動態伸縮。有一種可滿足多種需要的Collection類型。你需要快速排序嗎?需要一組沒有重複值的對象嗎?需要一種訪問名/值對的方法嗎?第7章將更詳細地介紹它們!

 

 數組是通過說明它將要保存的元素類型來聲明的,元素類型可以是一個對象或基本類型,類型後面的方括號可以位於標識符的左邊或右邊。

聲明一個基本類型的數組如下所示。

 聲明一個對象引用數組如下所示。

實際應用

聲明數組應用時,應該總是將方括號進階在聲明類型之後,而不是在標識符(變量名稱)之後。這樣,閱讀該代碼的任何人都能很容易地判斷,比如key是一個指向int數組對象的易用,而不是一個指向int基本類型的引用。

還可以聲明多維數組,這種數組實際上就是數組的數組。聲明方式如下:

第一個例子是一個三維數組(一個數組的數組的數組) ,第二個例子是一個二維數組。注意,在第二例子中,我們將一個方括號放在變量名前面,而將另一個放在變量名的後面。這對編譯器來說是完全合法的,這再次證明了“合法並不意味着合適”。

考試注意事項

在聲明中包含數組大小永遠是不合法的。我們知道在某些語言中可以這樣做,這就是爲什麼你有可能看到某些考題包含此類代碼的原因:

int [5] scores;

上面的代碼不能通過編譯。記住,只有在真正實例化數組對象時,JVM纔會分配空間。這時才涉及數組大小的問題。

第三章將更深入地討論數組,說明如何初始化和使用數組,以及如何處理多維數組。等着瞧吧!

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章