JAVA中陣列有一維陣列,2維陣列....多維陣列簡單說陣列在java中是將 一連串的資料或物件,如基本型別或参考型別都組合在一起,在同一個陣列中只能存放相同型別的資料,且只有陣列在區域變數中唯一有初始值的。
而為什麼要使用陣列呢?
有整數型態的 int i = 1; int j =2; int u =3; int v = 4; int x=5;
如要印出所有的數字就非得打一大串System.out.print( i + j + u + v + x);
假如是一大串例如上百個,會非常的麻煩。
因此將上述作成陣列如下:
int [] i ={i,j,u,v,x}; 這樣會來的簡單的多。
Java的陣列並不以一塊連續的記憶體空間來表達,而是把陣列視為特殊的物件。此物件不但可存放資料,還利用object variable length記錄著該陣列的長度。所以陣列好處就是把全是相同型別的物件都放進去,如要取出再使用迴圈一一列印出來即可。
在JAVA陣列變數的宣告中,要注意和C語言特別不同的地方是:
[]沒有數字。因為陣列是一種物件,必須以new指令產生物件,int[] x只是宣告x是一個reference to int[]物件而已。
[]在變數的左邊,而不是右邊。[]屬於宣告型態的一部份,不牽扯空間分配,也不像C語言有和pointer,function混合運用的情況,因此語法要把[]放在變數左邊,方便判讀。
我們也可以在變數宣告或是new陣列時就給定初始值:
public class Arrays {
public static void main(String[] args) {
int[] a1 = { 1, 2, 3, 4, 5 };
Object[] a2 = new Object[] {
new Integer(47), new Long(10),
new Float(3.14), new Double(11.11)
};
}
}
而Java陣列物件是只能儲存基本資料型態或reference的一維陣列,二維以上的陣列是透過reference指到其他的一維陣列物件來達成。所以JAVA陣列有兩點要注意:1.陣列的長度可以為0。2.由於以一維陣列來模擬二維陣列,因此透過第一個陣列的reference所找到的陣列,其長度不必然相同。