配列を準備する方法
配列変数の宣言と配列本体の生成をまとめて行う
配列を利用するには、配列変数の宣言と配列本体の生成という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つのステップをまとめて記述することができるのです。
- 配列変数を宣言する。
- 配列本体を生成して、その結果を配列変数に代入する。
- 配列の要素へ値を代入する。
これを配列の初期化(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つのステップをまとめて実行できる。