一、有效的下標數組
最小的下標是0,最大的下標是數組的元素個數-1spa
編譯器並不會檢查你是否用了有效的下標code
可是若是運行的時候出現了無效的下標,可能會致使程序終止blog
二、定義數組變量編譯器
<類型>[] <名字> = new <類型>[元素個數];for循環
int[] grades = new int[100];編譯
double[] averages = new double[20];class
·元素個數必須是整數變量
·元素個數必須給出循環
·元素個數能夠是變量
三、數組成員
length -->能夠得到數組元素的數量
四、直接初始化數組
·new建立的數組會獲得默認的0值
·int[] scores = {87,98,69,54,65,76,87,99};
·直接用大括號給出數組的全部元素的初始值
·不須要給出數組的大小,編譯器會幫助咱們數數
·如何獲得數組的大小?length!
五、數組變量
·數組變量是素組的管理者而非數組自己
·數組必須建立出來而後交給數組變量來管理
·數組變量之間的賦值是管理權限的賦予
·數組變量之間的比較是判斷是否管理同一個數組
六、複製數組
·必須遍歷源數組將每一個元素逐一拷貝給目的數組
七、遍歷數組
一般都是使用for循環,讓循環變量i從0到<數組的length
這樣循環體內最大的i正好是數組最大的有效下標
常見錯誤
·循環結束條件是<=數組長度
·離開循環後,繼續用i的值來作數組元素的下標!
八、for-each循環(遍歷數組)
for(<類型><變量>:<數組>){
……
}
對於數組當中的每個元素,取出來做爲這個類型的變量
只能輸出數組中的每個元素,沒法經過變量修改數組中的元素
九、primes[cnt++]=x;
如下代碼爲例
int[] primes = new int[50];
int x = 5;
int cnt =0;
primes[cnt++]=x;
執行事後,primes[0]=x,cnt=1
十、二維數組
·int[][] a = new int[3][5];
·一般理解爲a是一個三行五列的矩陣
十一、二維數組的遍歷
二維數組的遍歷須要兩層的for循環
1 for( int i=0; i<3; i++) 2 { 3 for( int j=0; j<5; j++) 4 { 5 a[i][j] = i*j; 6 System.out.print(a[i][j]); 7 } 8 System.out.println(); 9 }
·a[i][j]是一個int
·表示第i行第j列上的單元,a[i,j]並不存在
十二、二維數組的初始化
int [][] b = { {1,2,3,4}, {1,2,3}, };
·編譯器來數數
·每行一個{},逗號分隔
·最後的逗號能夠存在,有古老的傳統
·若是省略,表示補零