標籤:int for語句 span float new mil class 效率 嵌套
數群組類型
數組是一種常見的資料結構,可用於存放多個資料,每一個數組元素存放一個資料,通常可以通過下標進行訪問其元素。
Java數組要求所有數組元素具有相同的資料類型。因此,數組元素的資料類型是唯一的。
數組定義如下:
type[] arrayName; //推薦使用 type arrayName[]; //不推薦使用
通常我們都使用第一種方式。注意:數組的定義不能指定數組長度,只有在初始化時才指定長度。
數組初始化:
int[] intArr = new int[]{1,2,3,4,5}; //靜態初始化 int[] intArr2 = {1,2,3,4,5}; //靜態初始化的簡化版,通常使用這種 int[] intArrDy = new int[5]; //動態初始化
動態初始化時必須為數組指定長度,系統會自動為數組每個元素指定預設值,預設值與數組元素類型有關,具體如下:
- 整數類型(byte、short、int、long),預設值為0
- 浮點類型(float、double),預設值為0.0
- 字元類型(char),預設值為‘\u0000‘
- 布爾類型(boolean),預設值為false
- 參考型別(類、介面和數組),預設值為null
使用數組訪問數組
數組最常用的用法是訪問數組,包括對數組元素的讀取和賦值。使用下標訪問數組元素,如下:
int[] intArr = {1,2,3,4,5}; intArr[4] = intArr[0] + intArr[1]; System.out.println(intArr[4]); //3
下標從0開始,最後一個下標是length-1,即數組總長度-1。當下標大於等於數組長度時會產生數組下標越界異常(java.lang.ArrayIndexOutOfBoundsException)。
遍曆數組
通常有兩種方法遍曆數組,如下:
int[] intArr = {23,43,65,87,87}; //使用for語句 for (int i = 0; i < intArr.length; i++) { System.out.println(intArr[i]); //遍曆列印數組元素 } //使用foreach語句 for (int i : intArr) { System.out.println(i); //遍曆列印數組元素 }
區別在於,前者i表示數組下標,後者表示數組元素。再看下面的例子:
String[] strArr = {"aaa","bbb","ccc"}; //使用for語句 for (int i = 0; i < strArr.length; i++) { System.out.println(strArr[i]); //遍曆列印數組元素 } //使用foreach語句 for (String string : strArr) { System.out.println(string); //遍曆列印數組元素 }
而且,foreach語句一般不能修改元素,否則很容易出錯。而且,foreach的效率略低於for語句,當資料量越大時效果越明顯,當嵌套迴圈越多時越明顯。
不過foreach編程時會方便一點,所以當資料量不是特別大時,使用foreach會方便點。
最後,給出一種效率最高的方法:
String[] strArr = { "aaa", "bbb", "vvv" }; for (int i = 0, len = strArr.length; i < len; i++) { System.out.println(strArr[i]); }
就是把擷取數組長度放在了for語句的語句1的位置,這樣就不必每次迴圈都去讀取數組長度了。
java學習筆記六——數組