type var[]; 或type[] var;
Java中的數組跟C/C++這些語言中的數組的語法結構很相似。但是,Java去掉了C/C++中的可以通過[]或者使用指針來訪問元素的功能。這種在C/C++中被普遍接受的功能雖然強大,但是也讓Bug橫行的軟件更容易出現。因爲Java不支持這種直接通過指針來操縱數據,這類的Bug也被消除了。
數組是一類包含被稱爲元素的值的對象。這就爲你在程序中移動或保存一組數據以很方便的支持,並且允許你根據需要訪問和改變這些值。用一個小例子來說:你可以創建一個String類型的數組,每一個都包含一個運動隊隊員名字。數組可以傳送給一個需要訪問每個隊員名字的方法。如果一個新隊員加入,其中一個老隊員的名字可以被修改成新隊員的名字。這就顯得比player1、player2、player3等等很隨意的不相關的變量方便很多。跟變量通過變量名來訪問不同的是,元素通過從0開始的數字來訪問。因此,你可以一個個的訪問數組的每個元素。
數組跟對象很相似,它們都是用new關鍵字來創建,並且有屬於主要父對象類的方法。數組可能存儲簡單類型或者對象的引用。
數組的每個元素必須是同一類型的。元素的類型在數組被聲明時確定。如果你需要存儲不同類型元素的方式,你可以選擇collection類,collection類是Java2考試中的新增的考點,我們將會在第十部分討論它。你可以用數組來存儲對象的句柄,你能像使用其它任意對象引用一樣訪問,摘錄或者使用它。
聲明數組時不能指定其長度(數組中元素的個數),
Java中使用關鍵字new創建數組對象,格式爲:
數組名 = new 數組元素的類型 [數組元素的個數]
實例:
TestNew.java:
程序代碼:
public class TestNew
{
public static void main(String args[]) {
int[] s ;
int i ;
s = new int[5] ;
for(i = 0 ; i < 5 ; i++) {
s[i] = i ;
}
for(i = 4 ; i >= 0 ; i--) {
System.out.println("" + s[i]) ;
}
}
}
初始化:
1.動態初始化:數組定義與爲數組分配空間和賦值的操作分開進行;
2.靜態初始化:在定義數字的同時就爲數組元素分配空間並賦值;
3.默認初始化:數組是引用類型,它的元素相當於類的成員變量,因此數組分配空間後,每個元素也被按照成員變量的規則被隱士初始化網站開發。
實例:
TestD.java(動態):
程序代碼:
public class TestD
{
public static void main(String args[]) {
int a[] ;
a = new int[3] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 2 ;
Date days[] ;
days = new Date[3] ;
days[0] = new Date(2008,4,5) ;
days[1] = new Date(2008,2,31) ;
days[2] = new Date(2008,4,4) ;
}
}
class Date
{
int year,month,day ;
Date(int year ,int month ,int day) {
this.year = year ;
this.month = month ;
this.day = day ;
}
}
TestS.java(靜態):
程序代碼:
public class TestS
{
public static void main(String args[]) { //刪除網站公司 int a[] = {0,1,2} ;
Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;
}
}
class Time
{
int hour,min,sec ;
Time(int hour ,int min ,int sec) {
this.hour = hour ;
this.min = min ;
this.sec = sec ;
}
}
TestDefault.java(默認):
程序代碼:
public class TestDefault
{
public static void main(String args[]) {
int a [] = new int [5] ;
System.out.println("" + a[3]) ;
}
}