天天看點

數組

例如:

       現在要定義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&lt;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,如需轉載請自行聯系原作者

上一篇: this關鍵字
下一篇: static關鍵字