1. 程式人生 > 遊戲資訊 >原神:夜蘭技能武器命座詳細解讀,後臺掛水增傷50%,新的人權卡

原神:夜蘭技能武器命座詳細解讀,後臺掛水增傷50%,新的人權卡

陣列是最簡單的資料結構

1 定義

  1. 陣列是相同型別資料的有序集合

  2. 陣列描述的是相同型別的若干資料,按照一定的先後次序排列而成

  3. 其中,每一個數組稱作一個數組元素,每個陣列元素可以通過一個下標來訪問他們

PS:陣列下標是從0開始的

2 建立

首先必須宣告陣列變數,才能在程式中使用陣列。

2.1 宣告陣列

dateType[] array; //首選
或
dateType array[]; //效果相同;該定義方法是為了相容C和C++,它們定義使用這種方法。

2.2 建立陣列

Java語言使用 new 操作符來建立陣列

dateType[] array=new dataType[arraySize];

PS:獲取陣列長度:arrays.length

2.3 例項1

package com.study;

public class T {
    public static void main(String[] args) {
        //變數型別 變數名=變數值;
        //陣列型別 陣列名
        int[] arr; //宣告

        arr=new int[10];//開闢陣列空間大小 10
    }
}

2.4 例項2

package com.study;

public class T {
    public static void main(String[] args) {
        int[] arr;//宣告一個數組
        arr = new int[10];//建立一個數組,大小為10

        //陣列元素賦值
        arr[0] = 10;
        arr[1] = 8;

        //求和
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("總和為:"+sum);

    }
}

圖解:

3 初始化

3.1 靜態初始化

在定義陣列的時候就對其進行初始化操作。

int[] a = {1,2,3}

PS:靜態初始化,定義之後長度不可改變,這是一個基本型別。

3.2 動態初始化

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

3.3 預設初始化

陣列是引用型別,它的元素相當於類的例項變數,因此陣列一旦分配空間,其中的每個單元元素也被按照例項變數同樣的方式被隱式初始化。

3.4 例項

package com.study;

public class T {
    public static void main(String[] args) {
        //靜態初始化:建立+賦值
        int[] arr = {1, 2, 3, 4, 5, 6};
        Man[] man_s = {new Man(), new Man()};

        //動態初始化:包含預設初始化
        int[] b = new int[10];
        b[0] = 10;
        
    }
}

4 基本特點

  • 長度是確定的。陣列一旦被建立,它的大小就是不可以改變的

  • 其元素必須是相同型別,不允許出現混合型別

  • 陣列中的元素可以是任何資料型別,包括基本型別和引用型別。

  • 陣列變數屬於引用型別,陣列也可以看成是物件,陣列中的每個元素相當於該物件的成員變數

PS:

  1. 陣列本身就是物件,Java中物件是在堆中的,因此陣列無論儲存原始型別還是其他物件型別,陣列物件本身是在堆中的
  2. new 出來的關鍵詞都是在堆中的

5 陣列邊界

下標的合法區間:[0,length-1],如果越界就會報錯;

package com.study;

public class T {
    public static void main(String[] args) {
        int[] arr = new int[2];
        System.out.println(arr[2]);
    }
}

ArrayIndexOutOfBoundsException:陣列下標越界異常!

總結

  1. 陣列是相同資料型別的有序集合

  2. 陣列也是物件,陣列元素相當於物件的成員變數

  3. 陣列長度是確定的,如果越界,會報ArrayIndexOutOfBoundsException