1. 程式人生 > >IT兄弟連 Java語法教程 陣列 陣列的宣告

IT兄弟連 Java語法教程 陣列 陣列的宣告

type[] arrayName;

type arrayName[];

對這兩種語法格式而言,通常推薦使用第一種格式,因為第一種格式不僅具有更好的語義,而且具有更好的可讀性。對於type[] arrayName;方式,很容易理解這是定義一個變數,其中變數名是arrayName,而變數型別是type[]。前面已經指出:type[]確實是一種新型別,與type型別完全不同(例如int型別是基本型別,但int[]是引用型別)。因此,這種方式即容易理解,也複合定義變數的語法。但第二種格式type arrayName[]的可讀性就差了,看起來好像定義了一個型別為type的變數,而變數名是arrayName[],這與真實的含義相去甚遠。

可能有些人非常喜歡type arrayName[];這種定義陣列的方式,這可能是因為早期某些計算機讀物的誤導,從現在開始就不要再使用這種糟糕的方式了,Java還支援這種方式是為了相容早期的一些程式而不得不支援的。

Java的模仿者C#就不再支援type arrayName[]這種語法,它只支援第一種定義陣列的語法,越來越多的語言不再支援type arrayName[]這種陣列定於語法。

陣列是一種引用型別的變數,因此使用它定義一個變數時,僅僅表示定義了一個引用變數(也就是定義了一個指標),這個引用變數還未指向任何有效的記憶體,因此定義陣列是不能指定陣列的長度。而且由於定義陣列只是定義了一個引用變數,並未指向任何有效的記憶體空間,所以還沒有記憶體空間來儲存陣列元素,因此這個陣列也不能使用,只能對陣列進行初始化後才可以使用。

 

注意:定義陣列時不能指定