數組基礎篇(概念,定義,使用)


一.數組的概念

         數組是編程語言中常見的一種數據結構,可以存儲多個數據,每個數組元素存放一個數據,通常可以通過數組元素的        索引來訪問數組元素,包括賦值,取值,同時,java語言的數組具有其特有的特征。

             數組也是一種類型。Java中的數組要求所有的數組元素具有相同的數據類型。因此在一個數組中,數組元素的類型是

     唯一的,即一個數組只能存儲一種數據類型的數組。

           Java的數組即可以存儲基本類型的數據,也可以存儲引用類型的數據,只要數組元素的類型統一即可。

           數組也是一種數據類型,它本身是一種引用類型,例如int是一個基本類型,但int[]就是一種引用類型了。

           由於java語言面向對象的特征,類與類之間支持繼承關系,所以數組的數組元素之間可以是父子關系,

    但是該數組的數據類型仍然是唯一的,指向數組元素的最高父類,例如有一個水果數組,要求每個元素是水果,但它數組       元素可以是蘋果,也可以是香蕉,這是他們都繼承了fruit類,因此數組元素的類型還是唯一的

二.數組的定義

   Java支持兩種語法格式定義數組:

type[] arrayName;     //推薦這種方式,語義明確,可讀性強
type arryName[];      //早期使用,不推薦

        數組是一種引用類型的變量,因此使用它定義變量時,僅僅定義了一個引用變量(也就是定義了一個空指針),

還未指向任何有效的內存,因此定義數組時不能指定數組的長度,也不能被使用。

三.數組的初始化

         Java語言中數組必須先初始化才能被使用。所謂初始化,就是為數組的數組元素分配內存空間,並為每個數組元素

賦初始值。

         數組的初始化有兩種方式:

1.靜態初始化

   語法格式是:

arrayName=new type[]{element1,element2,element3,...};

//簡化格式如下
arrayName={element1,element2,element3,...};

 

 靜態初始化時,顯式指定的數據類型必須與new關鍵字后面的type類型相同,或者是其子類類型。

 

2.動態初始化

   動態初始化只指定數組長度,由系統為每個數組元素賦初始值,動態初始化語法格式如下:

arrayName=new type[length];

 

        執行動態初始化時,程序員只需指定數組的長度,幾位每個數組元素分配所需的內存空間,系統負責為這些數組元素分配初始值。指定類型的規則如下:

         a)數組元素類型是基本類型的整數類型(byte,short,int,long),則指定初始值0;

         b)數組元素類型是基本類型的浮點類型(float,double),則指定初始值0.0;

         c)數組元素類型是基本類型的字符類型(char),則賦初始值'\u0000';

         d)數組元素類型是基本類型的布爾類型(boolean),則賦初始值false;

         e)數組元素類型是引用類型(類,接口,數組),則賦初始值null;

 

四.for-each遍歷數組

              通過索引訪問數組元素時,索引不能小於0或大於等於數組的長度,否則會

         拋出java.lang.ArrayIndexOutOfBoundsException

             使用for-each循環遍歷數組時,無須獲得數組的長度,也無需索引來訪問數組元素,比較簡單。

        但是使用for-each循環不能給數組元素賦值

public static void main(String[] args) 
    {
        String[] fruits={"蘋果","香蕉","梨","桃子"};
        for(String fruit:fruits){
            fruit="水果";      //fruit只是個臨時變量,不是數組元素,給他賦值對數組元素沒有意義
        }
        System.out.println(fruits[0]);
    }

輸出:

蘋果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM