當數組中每個元素都只帶有一個下標時,這種數組就是一維數組,一維數組是數組中最簡單的一種數組。
陣列有兩種初始化方式:動態初始化和靜態初始化。
靜態初始化就是在宣告時就將陣列賦值了,後面直接呼叫。
靜態初始化的方法如下:
數組類型[]名稱=new類型{元素};
例如:
int[]Array=newint[]{1,2,3};
也可以先聲明再初始化:
int[]Array;Array=newint[]{1,2,3};
動態初始化就是先聲明,在後面的語句中再逐一賦值。
動態初始化的方法如下:
int[]Array=newint[陣列長度];Array[0]=1;Array[1]=2;Array[2]=3;Array[3]=4;……Array[陣列長度-1]=n ;
初始化後的數組,其長度是確定的。
靜態初始化int [] Array = new int[]{1,2,3};花括號裡有3個元素,所以Array的長度是3.
動態初始化int [] Array = new int[陣列長度];如果[陣列長度]裡面是3,Array就有3個元素,其陣列長度就是3。
我們可以使用下標(角標)來呼叫數組。
int[]Array;Array=newint[]{1,2,3};System.out.println(Array[1]);
此時輸出的是Array中的第二個元素,即輸出2。
這時候就會有同學問:為什麼明明是Array[1],卻調用的是第二個元素呢?這是因為陣列的下標是從0開始的,也就是Array[0]對應的是陣列裡的第一個元素,Array[1]對應的是陣列裡的第二個元素,以此類推。
動態初始化中第二個中括號裡的數是陣列長度,例如:
int[]Array=newint[3];
這樣表示Array的陣列長度是3,想呼叫第3個,下標就得是2:
System.out.println(int[2]);
注意:呼叫的數組元素不能超過數組長度。
例如:
int[]Array=newint[3];System.out.println(int[3]);
此時表示的是輸出Array陣列的第4個元素,但Array的陣列長度是3,也就是只有3個元素,所以會報錯。
我們可以使用循環語句來實現數組的遍歷,例如:
for(inti=0;i<Array.length;i++){System.out.println(Array[i]);}
要注意的是,i從0開始是因為陣列下標是從0開始的,陣列的第一個元素下標是0,要把第一個元素包含進去,所以從0開始循環。
.length方法是陣列長度,i<Array.length表示的是i的值小於Array的陣列長度,在此條件下循環。
例如:
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){int[]arr1=newint[]{1,3,5,7,9,11};//靜態初始化System.out.println(arr1[ 1]);//輸出arr的第二個元素:3int[]arr2=newint[5];//動態初始化Scannerscan=newScanner(System.in);System.out.println(請輸入:);for( inti=0;i<arr2.length;i++){//逐一賦值arr2[i]=scan.nextInt();System.out.println(arr2[i]);//將arr2逐一輸出}} }
大家可以親自上機實驗!