例如:
現在要定義100個整型變量:i1、i2…i100,是以在此情況下一般都可以建立數組,通過數組完成此種變量的定義。數組:數組就是一組相關變量的集合。每個數組總的元素類型都是一樣的。
定義包含10個元素的整型數組:
類型 數組名稱[] ;、類型[] 數組名稱 ; à 定義了一個數組
為數組開辟空間大小的格式:
數組名稱 = new 類型[大小] ;
public class Demo18{
public static void main(String args[]){
// 定義100個元素的整型數組
// 數組的初始值最好是null
// 如果數組為null,則表示暫時還無法使用
int i[] = null ;
// 為數組開辟使用大小
i = new int[10] ;
// 通路數組,通過數組名[下标]
// 下标從0開始,即,如果是10個元素,則下标範圍是0~9
System.out.println(i[9]) ;
}
};
此時數組中的每個元素都是int的預設值 —— “0”。
一般數組的内容輸出都是使用for循環完成的,因為已經明确的知道了數組的長度了。是以輸出的時候就可以使用for循環完成。
public class Demo19{
// 動态的取得數組長度的操作:數組名稱.length
// 也可以通過循環為數組中的每個元素指派
// 現在按以下格式為數組中的内容初始化:i[0] = 0、i[1] = 1,依次類推
// 此種初始化,稱為動态初始化
for(int x=0;x<i.length;x++){
i[x] = x ;
}
System.out.print("i["+x+"] = "+i[x]+"\t") ;
<b>回顧:</b>
Java中數組屬于引用類型,是以,隻要是引用資料類型都會牽扯到記憶體位址的配置設定問題,在java中通過new關鍵字為數組配置設定空間。
如果聲明了一個數組(int i[]),則數組名稱會儲存在棧記憶體裡,此時的數組,沒有大小,不能使用,如果使用則肯定出錯。
之後通過new關鍵字,在堆記憶體中為數組開辟空間,同時把空間的使用權給了數組名稱。空間中的每個元素都是預設值,整數的為“0”;
<b>數組的使用規律:</b>
· 先為數組在棧記憶體中開辟空間
· 再通過new關鍵字,為數組在堆記憶體中開辟元素的大小
· 之後才可以使用數組(因為已經存在堆記憶體空間了)。
現在的開發中基本上都是使用一維數組,多元數組使用較少。
public class Demo21{
int i[][] = null ;
i = new int[2][3] ;
for(int y=0;y<i[x].length;y++){
i[x][y] = x*y ;
}
System.out.print("i["+x+"]["+y+"] = "+i[x][y]+"\t") ;
一維數組的靜态初始化,之前所講解的全部數組都屬于動态初始化,即:為數組開辟空間的時候,沒有為其指定内容,而是之後通過代碼賦上内容的,是以此操作稱為動态初始化。
靜态初始化就是在數組聲明的時候直接給出值。
public class Demo22{
int i[] = {1,2,3,4,5,6,7,8,9,0} ;
本文轉自 李興華 51CTO部落格,原文連結:http://blog.51cto.com/lixinghua/91226,如需轉載請自行聯系原作者