石田修二 > コンピュータメモ > Java >    (サイト内検索

配列

Java による配列の宣言は2段階で行われます。Java において配列を使うときには,変数名の宣言と,領域の確保の2つをセットで行う必要があります。

int a[];  // 配列名を宣言
a = new int[10];  // 10個の領域を確保

配列を宣言し,値を格納し,その値を画面に出力するプログラムを作ってみましょう。

public class Basic2 {
	public static void main(String[] args) {
		// 配列の宣言
		String[] name;
		
		// 配列に格納する要素のメモリ領域を3つ確保
		name = new String[3];
		
		// 配列への値の格納
		name[0] = "日替わり幕の内弁当";
		name[1] = "スペシャル洋食弁当";
		name[2] = "唐揚げ弁当";
		
		// 値の出力
		System.out.println("1番目の配列:" + name[0]);
		System.out.println("2番目の配列:" + name[1]);
		System.out.println("3番目の配列:" + name[2]);
	}
}

配列にまとめて値を入れるやり方もあります。上の例で言えば,String name[] = {"日替わり幕の内弁当", "スペシャル洋食弁当", "唐揚げ弁当"} と書きます。あらかじめ,中に入れる値が決まっている場合には,こちらの方法を使うと便利です。

もう一つサンプルプログラムを作ってみましょう。1年の月の英語名を初期値に与えて配列を作るプログラムです。

public class ArrayTest {
	public static void main(String[] args) {

		String months[] = {"January", "February",
				"March", "April", "May",
				"June", "July", "August",
				"September", "October",
				"November", "December"};

		System.out.println(months[0]);
		System.out.println(months[1]);
		System.out.println(months[2]);
		System.out.println(months[3]);
		System.out.println(months[4]);
		System.out.println(months[5]);
		System.out.println(months[6]);
		System.out.println(months[7]);
		System.out.println(months[8]);
		System.out.println(months[9]);
		System.out.println(months[10]);
		System.out.println(months[11]);
	}
}

ちなみに上のプログラムは繰り返し構文を組み合わせて次のように書くこともできます。こちらの方がすっきりしています。

public class ArrayTest {
	public static void main(String[] args) {

		String months[] = {"January", "February",
				"March", "April", "May",
				"June", "July", "August",
				"September", "October",
				"November", "December"};

		for (int i = 0; i < 12; i++){
			System.out.println(months[i]);
		}
	}
}

なお,変数名の宣言と,領域の確保、この2つの動作をまとめて1行で描くこともできます。

int b[] = new int[10];

複数の配列を一度に宣言

int[] a, b, c; // 全部配列

int の後ろに大カッコをつけると,そこで宣言されているすべての変数が,配列であると解釈されます。

int d, e[], f;  // eは配列,d, f は通常の int

値の初期化

宣言と同時に初期化するには,{ } を使って値を列挙します。この時,[] 内に要素数を記述してはいけません。

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

長さの取得

length を使います。

構文 配列名.length

例:配列のメモリ領域を3つ確保し,配列に確保されている要素の数を画面に出力します。

String name[] = new String[3];
System.out.println("配列に確保されている要素の数:" + name.length);

何に使うのか

int a[] = {3, 5, -2, 3, 0};
int i, s = 0;

for (i = 0; i < a.length; i++){
	s = s + a[i];
}
double ave = (double) s / a.length;

リンクはご自由にどうぞ。

【石田修二トップページ】  【コンピュータメモ】 【Java】

Last modified: 2016-04-10 02:41:42