浪潮優派培訓java筆記:第5章 數組

第5章 數組

5.1 數組的定義

•  數組是固定的不能擴展

•  可以存儲基本數據類型或對象或接口

•  通過數組名和下標可以訪問各元素,下標從0開始

5.2 聲明數組

•  數組的聲明包括數組名和所包含的元素類型

•      聲明方法: 數組類型  數組名[ ];   或   數組類型[ ] 數組名;

  例如 int age[ ]; 或 int [ ] age; 都可以。

5.3 創建數組

•    利用new 來爲數組型變量分配內存空間

•    數組名=new  數組元素類型[元素個數];

 例如 age=new int[10];

      必須分配內存後才能使用數組

      兩步可以合併,如:int age[ ]=new int[10];

 

5.4 數組初始化

數組的初始化:用new創建或直接靜態初始化

•    一維數組:int a[]=new int[5];      // 定義並初始化

             int a[];  a=new int[5];  // 先聲明後初始化

             int a[]={1,2,3,4};      // 靜態初始化

             int size=5; int a[]=new int[size];//在上面通用的基礎上,用變量定義數組的長度。

int a[]=new int[5]; // 此時系統爲數組a中的每一個元素都初始化爲0;

double d[]=new double[5];//  此時系統爲數組d中的每一個元素都初始化爲0.0;

String s[]=newString[5];// s[i]=null, (0<=i<=4);   s.length=5                           

•     多維數組:Java中多維數組的聲明和初始化應按從高維到低維(即從左到右)的順序進行;

必須指定高層維數,不能在空維後定義數組維!

       錯誤示例:int a[][][]=new int[][][]; // 高層維數未指定

int a[][][]=new int[1][][4]; //不能在空維後定義數組維

int a[][][]=new int [][][4];

       正確示例:int a[][][]=new int[1][][];

          int a[][][]=new int[1][4][];

          int a[][][]=new int[1][4][5];

總結:定義數組時,第一維必須定義!且要從高維開始定義,空維後不能定義;

二維數組的初始化

•    在Java語言中,由於把二維數組看作是數組的數組,數組空間不是連續分配的,所以不要求二維數組每一維的大小相同。

•    靜態初始化        int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

•    動態初始化(難點、很重要)

int a[ ][ ] = new int[2][ ];

       a[0] = new int[3];

       a[1] = new int[5]; 

5.5 數組元素的使用

    通過下標訪問數組元素,而不能只通過數組名訪問整個數組。

注意:二維數組中:數組名.length返回的是數組的行數。數組名[行號].length返回的是該行的列數。

每個數組都有一個屬性length指明數組的長度,例如arr.length指明數組arr的長度。注意length是屬性不是方法!

5.6 數組的方法

    數組複製

      循環賦值

      System.arraycopy(src,srcPos, dest, destPos, length);

System.arraycopy(原始數組, 起始索引, 目標數組, 起始索引, 複製長度);

      注意:複製的長度不要超過目標串的長度。否則會發生異常。

      數組拷貝示例:

public class Test {

   public static void main(String[] args) {     

       int arrInt1[]={12,34,5,1,45};

       int arrInt2[]=new int[6];

       System.arraycopy(arrInt1,0, arrInt2, 1, 5);

       for (int i = 0; i < arrInt2.length; i++) {

          System.out.print(arrInt2[i]+" ");

       }

   }

}

輸出結果爲:0 12 34 5 1 45

    在java.util.Arrays包中:數組填充Arrays.fill( ) 

      當我們配置一個數組之後,其會依數據型態來給定默認值,例如整數數組就初始爲0,您可以使用Arrays.fill()方法來將所有的元素設定爲指定的值。

    在java.util.Arrays包中:數組比較Arrays.equals( ):

比較兩個數組中的元素值是否全部相等,如果是將傳回true,否則傳回false。

    在java.util.Arrays包中:數組排序Arrays.sort(數組名):

這個方法可以對指定的數組排序,所使用的是快速排序法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章