java 数组下标 变量_Java基础语法:数组
一、簡介
描述:
數組是相同類型數據的有序集合。
其中,每一個數據稱作一個數組元素,每個數組元素可以通過一個下標來訪問它們。
基本特點:
數組的長度是確定的。數組一旦被創建,它的大小就是不可以改變的。
數組元素必須是相同類型,不允許出現混合類型。
數組中的元素可以是任何數據類型,包括基本類型和引用類型。
數組變量屬引用類型,數組也可以看成是對象,數組中的每個元素相當于該對象的成員變量。數組本身就是對象,Java中對象是在堆中的,因此數組無論保存基本數據類型還是其他對象類型,數組對象本身是在堆中的。
二、聲明數組
語法:
/* 第一種,中括號在數據類型后 */
elementType[] arrayVarName
/* 第二種,中括號在變量名后 */
elementType arrayVarName[]
描述:
首先必須聲明數組類型的變量,才能自如地在程序中使用數組對象。
Java中聲明數組變量的方式有兩種,一種中括號在'數據類型'后,另一種中括號在'變量名'后。
注意:
聲明數組變量時,開頭的'數據類型'(不帶中括號)代表數組中元素的數據類型。
聲明數組變量的第二種中括號在'變量名'后的方式,來自C/C++語言的風格,是為了方便C/C++程序員在學習Java時能更快上手,不建議使用。
聲明數組的時候并有數組被真正的創建,沒有實例化任何對象。
聲明數組時不能指定其長度(數組中元素的個數),只有在創建數組對象時,JVM才分配空間,這時才與長度有關。
示例:
/* 推薦使用 */
int[] intArr1;
/* 不建議使用 */
int intArr2[];
三、創建數組
語法:
動態初始化:
new elementType[arrayLength]
靜態初始化:
{firstElementValue, secondElementValue, thirdElementValue...}
描述:
創建數組有兩種方式:動態初始化和靜態初始化。
創建一個數組時,必須指定數組的長度,動態初始化時在中括號中指定,靜態初始化時數組長度為大括號中元素的個數。
使用動態初始化創建數組對象時,會先指定數組的長度,并對元素進行默認初始化。
使用靜態初始化創建數組對象時,不僅會指定數組長度和對元素進行默認初始化,還會對所有元素賦值。
注意:
數組是引用類型,它的元素相當于類的實例變量,因此數組一經分配空間,其中的每個元素也被按照實
例變量同樣的方式被隱式初始化。
示例:
/* 動態初始化 */
new int[5];
/* 靜態初始化 */
{1, 2, 3, 4, 5};
四、使用數組
Ⅰ、聲明并創建
語法:
/* 聲明數組變量并動態初始化 */
elementType[] arrayVarName = new elementType[arrayLength];
/* 聲明數組變量并靜態初始化 */
elementType[] arrayVarName = {firstElementValue, secondElementValue, thirdElementValue...};
描述:
數組變量的聲明和創建數組可以用一條語句完成,通常我們也會這樣來多次操作一個數組對象。
示例:
/* 聲明數組變量并動態初始化 */
int[] intArr1 = new int[5];
/* 聲明數組變量并靜態初始化 */
int[] intArr2 = {1, 2, 3, 4, 5};
Ⅱ、數組長度
語法:
arrayObject.length
描述:
數組長度可以通過數組對象直接獲得,語法如上所示。
數組長度在數組對象創建時指定,數組對象創建后,該數組對象的長度不會改變。
示例:
int[] intArr = {1, 2, 3, 4, 5};
System.out.println(intArr.length);//5
Ⅲ、數組下標
語法:
arrayObject[elementIndex]
描述:
數組的元素是通過下標(索引)訪問的。
數組下標從'0'開始,總下標個數為數組長度,所以下標值依次為從零到數組長度減壹:0 ~ arrayObject.length-1
注意:
數組對象的下標在使用時,如果下標數值越界,例如小于零,或者超過數組長度減壹,就會報錯:ArrayIndexOutOfBoundsException(數組下標越界異常)。
示例:
int[] intArr = {1, 2, 3, 4, 5};
System.out.println(intArr[1]);//2
Ⅳ、循環結構遍歷數組
語法:
'for'循環
for (int i = 0; i < arrayObject.length; i++) {
/* 使用'arrayObject[i]'遍歷操作數組元素 */
}
'foreach'循環
for (elementType elementVarName : arrayObject) {
/* 使用'elementVarName'遍歷操作數組元素 */
}
描述:
數組的元素類型和數組的大小都是確定的,所以當處理數組元素時候,我們通常使用'for'循環或者'foreach'循環(增強型'for'循環)。
'foreach'循環能在不使用下標的情況下遍歷數組。
示例:
/* 運行結果為在控制臺依次輸出:1 2 3 4 5 1 2 3 4 5 */
public static void main(String[] args) {
int[] intArr = {1, 2, 3, 4, 5};
/* for循環遍歷數組 */
for (int i = 0; i < intArr.length; i++) {
System.out.println(intArr[i]);
}
/* foreach循環遍歷數組 */
for (int element : intArr) {
System.out.println(element);
}
}
五、二維數組
語法:
聲明
innerElementType[][] arrayVarName
創建
/* 動態初始化二維數組 */
new elementType[outerArrayLength][innerArrayLength]
/* 靜態初始化二維數組 */
{{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...},{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...},{innerFirstElementValue, innerSecondElementValue, innerThirdElementValue...}...}
數組長度
/* 獲取外層數組長度 */
arrayObject.length
/* 獲取指定外層數組下標的內層數組長度 */
arrayObject[outerIndex].length
數組下標
/* 獲取指定外層數組下標的元素(一個內層數組) */
arrayObject[outerIndex]
/* 獲取指定外層數組下標的內層數組的指定內層數組下標的元素 */
arrayObject[outerIndex][innerIndex]
描述:
二維以上多維數組的語法根據二維數組的語法類推。
多維數組可以看成是數組的數組,比如二維數組就是一個特殊的一維數組,其每一個元素都是一個一維數組。
示例:
/* 運行結果為在控制臺依次輸出:1 2 2 3 3 4 4 5 5 6 */
public static void main(String[] args) {
int[][] arrayObject = {{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}};
/* 嵌套foreach循環遍歷二維數組 */
for (int[] innerArr : arrayObject) {
for (int innerElement : innerArr) {
System.out.println(innerElement);
}
}
}
總結
以上是生活随笔為你收集整理的java 数组下标 变量_Java基础语法:数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农商银行大额存款利率2019
- 下一篇: java美元兑换,(Java实现) 美元