配列の要素を初期化する方法
9.3 配列の要素を初期化する方法
配列を宣言する際に、任意の値で初期化することも可能です。その場合は、下記のような構文になります。
図 9.3.1 : 要素の初期化
この書式では、指定した値の個数分の配列の要素が確保され、その値で初期化されます。
この書式は、new演算子を使って要素の記憶領域の確保を行い、その後に値を代入する先ほどの書き方と同じです。
要素の初期化の間違った記述
下記は間違った記述の例です。この記述では、コンパイルエラーが発生します。
配列変数の宣言と任意の値での初期化は、必ず同時に行わなければなりません。
int[] kandaMansion;
kandaMansion = { 3, 1, 10 };
ポイント
・ 配列を明示的に初期化すると、配列の宣言・要素の確保・値の代入が同時に行うことができる。
9.3.1 要素作成時に配列を初期化するプログラム
要素の作成時ではなく後で値を代入する方法と、要素の作成と同時に値を初期化する方法で、2種類の配列を作成します。それぞれの、配列の要素の作成方法を学びましょう。
① ソース・フォルダー :myproj_intro/src
② パッケージ :jp.co.f1.intro.ch9
③ 名前 :ArrayInitializer
④ 作成するメソッド・スタブの選択:public static void main(String[] args) にチェックを入れる
➢ ArrayInitializer.java
package jp.co.f1.intro.ch9; public class ArrayInitializer { public static void main(String[] args) { // 住居年数を管理する為の配列変数の宣言と要素の作成 int[] kandaMansion1 = new int[3]; // 要素の初期化 kandaMansion1[0] = 3; kandaMansion1[1] = 1; kandaMansion1[2] = 10; System.out.println(" - 神田マンション1号棟の移住年数 - "); System.out.println("0号室 : " + kandaMansion1[0]); System.out.println("1号室 : " + kandaMansion1[1]); System.out.println("2号室 : " + kandaMansion1[2]); System.out.println(); // 住居年数を管理する為の配列変数の宣言と要素の初期化 int[] kandaMansion2 = { 3, 1, 10 }; System.out.println(" - 神田マンション2号棟の移住年数 - "); System.out.println("0号室 : " + kandaMansion2[0]); System.out.println("1号室 : " + kandaMansion2[1]); System.out.println("2号室 : " + kandaMansion2[2]); } }
実行結果
解説
8~13行目は、要素の数のみ指定して要素を作成し、その後で値を代入する方法です。
16~18行目では、各要素の値を画面に表示しています。各要素には、11~13行目で代入した値が入っています。
次の記述が、この節で学習した要素の作成と同時に初期化する方法です。図 9.3.2がそのイメージです。
図 9.3.2 : 配列の初期化
26~28行目では、各要素の値を画面に表示しています。