淺析Java數組聲明、創建、初始化

一維數組的聲明方式:

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]) ;     
         }     
    }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章