配列を準備する方法

配列変数の宣言と配列本体の生成をまとめて行う

配列を利用するには、配列変数の宣言と配列本体の生成という2つのステップが必要であることを学習しました。

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

実は、この2つのステップは、次のように1つにまとめることができます。

int[] a = new int[5];

構文は次のように書けます。

構文 : 配列変数の宣言と配列本体の生成
型名[] 配列変数名 = new 型名[要素数];

これで、更にすっきりと記述できるようになりました。

この方法で、ArraySample01を書き換えてみましょう。

ArraySample01A.java
class ArraySample01A {
    public static void main(String[] args) {
        int[] a = new int[5];

        a[0] = 64;
        a[1] = 75;
        a[2] = 40;
        a[3] = 92;
        a[4] = 58;

        for(int i = 0; i < 5; i++){
            System.out.println((i + 1) + "番の人の得点は" + a[i] + "点です。");
        }
    }
}

ArraySample01Aの実行結果は、ArraySample01と同じです。

ArraySample01Aの実行結果
1番の人の得点は64点です。
2番の人の得点は75点です。
3番の人の得点は40点です。
4番の人の得点は92点です。
5番の人の得点は58点です。

配列の初期化

配列を準備する2つのステップに加えて、要素への値の代入までもまとめてしまうことができます。 即ち、次の3つのステップをまとめて記述することができるのです。

  1. 配列変数を宣言する。
  2. 配列本体を生成して、その結果を配列変数に代入する。
  3. 配列の要素へ値を代入する。

これを配列の初期化(initialization)と言います。

そして、構文は次のようになります。

構文 : 配列の初期化
型名[] 配列変数名 = {値1, 値2, 値3, ... };

配列の初期化によって、ArraySample01Aでの3つのステップは、次のようにたった1行で記述できます。

        int[] a = {64, 75, 40, 92, 58};

配列の初期化では、new演算子を使う必要は有りません。 また、すべての要素の値を明示しているため、わざわざ要素数を指定する必要も有りません。

それでは、配列の初期化を使って、ArraySample01Aを書き換えてみましょう。

ArraySample01B.java
class ArraySample01B {
    public static void main(String[] args) {
        int[] a = {64, 75, 40, 92, 58};

        for(int i = 0; i < 5; i++){
            System.out.println((i + 1) + "番の人の得点は" + a[i] + "点です。");
        }
    }
}

ArraySample01Aと比べて、驚くほど簡潔になりましたね。

ArraySample01Bの実行結果も、ArraySample01と同じです。

ArraySample01Bの実行結果
1番の人の得点は64点です。
2番の人の得点は75点です。
3番の人の得点は40点です。
4番の人の得点は92点です。
5番の人の得点は58点です。

配列の初期化により、配列変数の宣言、配列本体の生成、要素への値の代入の3つのステップをまとめて実行できる。