一,數組的定義
Java 中定義數組的語法有兩種:
1. type arrayName[];
2. type[] arrayName;
type 為Java中的任意數據類型,包括基本類型和組合類型,arrayName為數組名,必須是一個合法的標識符,[ ] 指明該變量是一個數組類型變量。
例如:
int demoArray[];
int[] demoArray; (推薦)
這兩種形式沒有區別,使用效果完全一樣。
二,數組內存分配
Java在定義數組時並不為數組元素分配內存,因此[ ]中無需指定數組元素的個數,即數組長度。而且對於如上定義的一個數組是不能訪問它的任何元素的,我們必須要為它分配內存空間,這時要用到運算符new,其格式如下:
arrayName = new type[arraySize];
其中,arraySize 為數組的長度,type 為數組的類型。如:
- demoArray = new int[3];
為一個整型數組分配3個int 型整數所占據的內存空間。
通常,你可以在定義的同時分配空間,語法為:
type[] arrayName = new type[arraySize];
例如:
- int[] demoArray = new int[3];
三,數組的初始化
你可以在聲明數組的同時進行初始化(靜態初始化),也可以在聲明以后進行初始化(動態初始化)。例如:
// 靜態初始化 // 靜態初始化的同時就為數組元素分配空間並賦值 String[] strArray1 = new String[] { "字符串1", "字符串2", "字符串3" }; String[] strArray2 = { "字符串1", "字符串2", "字符串3" }; // 動態初始化 String[] strArray3 = new String[3]; strArray3[0] = "字符串1"; strArray3[1] = "字符串2"; strArray3[2] = "字符串3";
四,數組引用
可以通過下標來引用數組:
arrayName[index];
Java對數組元素要進行越界檢查以保證安全性。
五,數組的遍歷
實際開發中,經常需要遍歷數組以獲取數組中的每一個元素。最容易想到的方法是for循環,例如:
1
2
3
4
|
int arrayDemo[] = {1, 2, 4, 7, 9, 192, 100};
for(int i=0,len=arrayDemo.length; i<len; i++){
System.out.println(arrayDemo[i] + ", ");
}
|
輸出結果:
1, 2, 4, 7, 9, 192, 100,
不過,Java提供了”增強版“的for循環,專門用來遍歷數組,語法為:
1
2
3
|
for( arrayType varName: arrayName ){
// Some Code
}
|
arrayType 為數組類型(也是數組元素的類型);varName 是用來保存當前元素的變量,每次循環它的值都會改變;arrayName 為數組名稱。
每循環一次,就會獲取數組中下一個元素的值,保存到 varName 變量,直到數組結束。即,第一次循環 varName 的值為第0個元素,第二次循環為第1個元素……例如:
1
2
3
4
|
int arrayDemo[] = {1, 2, 4, 7, 9, 192, 100};
for(int x: arrayDemo){
System.out.println(x + ", ");
}
|
輸出結果與上面相同。
這種增強版的for循環也被稱為”foreach循環“,它是普通for循環語句的特殊簡化版。所有的foreach循環都可以被改寫成for循環。
但是,如果你希望使用數組的索引,那么增強版的 for 循環無法做到。