同一般的對象創建和定義一樣,數組的定義和創建可以分開進行也可以合并一起進行。
一維數組定義格式:
<元素類型>[] <數組名>;//[]也可以放在數組名的后面
一維數組創建格式:
new <元素類型>[<元素個數>];
執行new
運算時將在內存中分配保存數組中所有元素的存儲空間,并把存儲空間的首地址作為運算結果返回,然后需要把該地址賦給被定義的數組對象。
例如:
int []a=new int[10];
需要注意的時雖然我們創建了對象數組,但這個步驟只是開辟了指針空間,里面的指針值都是空的(null
),如果我們需要調用對象我們需要調用構造函數。(基本類型可以會直接賦值為0)
在創建數組的同時我們還可以進行初始化任務:
<元素類型>[]<數組名>={<初始化表>};//初始化表中用逗號分開的每個初始數據項,每個初始數據都是一個表達式
String []s={"zhang","wang","li"};
計算機在執行帶有初始化表的數組定義語句時將隱含執行一次new運算。
數組元素的表示:<數組名>[下標]
數組長度就是數組中包含的元素個數,當定義和創建一個數組后,數組長度值被自動保存到數組對象的成員變量length中,它是一個常量成員變量,被創建數組時自動初始化后,以后不允許改變它的值,只允許通過點運算符讀取它的值。
二維數組的定義和創建:
<元素類型>[][]<數組名>=new<元素類型>[行數][列數];//同樣的,中括號可以放在后面。
<元素類型>[][]<數組名>={<初始化總表>};
初始化總表中含有依次對每行元素進行初始化的分表,每個分表之間用逗號隔開。每個分表由一對花括號和內部用括號分開的每個初始數據項組成,每個初始數據項都是一個表達式。
int [][]a={{1,3,5,7},{2,4,6,8},{3,6,9,12}};
二維數組的長度:
二維數組的長度就是數組中包含的行數,當定義和創建一個二維數組后,二維數組的長度值被自動保存到數組對象的成員常量length中,在創建二維數組時自動被賦值,以后不允許改變它的值,只允許通過點運算符讀取它的值。
例如,假定a是一個二維數組,它包含有6行元素,則a.length的值為6,假定a中每列都包含有8個元素,則a[i].length的值都等于8,其中行下標i為0到5之間的任何值,因為二維數組中的只帶有行下標的單下標元素,是一個一維數組,該數組的長度同樣可以通過點運算符訪問成員常量length得到。如要得到二維數組a中行下標為0的列元素數,則表示為a[0].length。