Java 速習チュートリアル

Java 配列のループ処理

1. 配列のループ処理

for ループを使用することで、配列の エレメント(要素) を走査できます。その際、length プロパティ を使用して、ループを何回実行するかを指定します。

以下の例では、文字列の配列を作成し、for ループを使って各エレメントを一つずつ出力しています。

1.1 文字列配列のループ例

String[] cars = {"ボルボ", "BMW", "フォード", "マツダ"};
for (int i = 0; i < cars.length; i++) {
  System.out.println(cars[i]);
}

数値(整数)を扱う場合も同様です。整数型の配列を作成し、for ループで各値を出力します。

1.2 数値配列のループ例

int[] numbers = {10, 20, 30, 40};
for (int i = 0; i < numbers.length; i++) {
  System.out.println(numbers[i]);
}

2. エレメントの合計を計算する

配列とループの扱い方がわかったところで、これらを組み合わせて配列内の全エレメントの合計を計算してみましょう。

2.1 合計計算のコード例

int[] numbers = {1, 5, 10, 25};
int sum = 0;

// 配列をループし、各エレメントをsum(合計)に加算する
for (int i = 0; i < numbers.length; i++) {
  sum += numbers[i];
}

System.out.println("合計値は: " + sum);

3. 拡張for文(for-each)による走査

Javaには、配列やその他の データ構造 のエレメントを走査するために特化した「for-each」ループ(拡張for文)も存在します。

3.1 拡張for文の構文(Syntax)

for (型 バリアブル名 : 配列名) {
  // 実行されるコードブロック
}

コロン(:)は、英語では「in」と読み替えると分かりやすいでしょう。つまり、「配列内の(in)各 バリアブル について(for each)」という意味になります。

以下の例では、拡張for文を使用して cars 配列の全エレメントを出力しています。

3.2 拡張for文のコード例

String[] cars = {"ボルボ", "BMW", "フォード", "マツダ"};
for (String car : cars) {
  System.out.println(car);
}

これは、「cars 配列内の各 String (ここでは car と命名)について、その値を出力する」という動きをします。

4. for文と拡張for文の使い分け

通常の for ループと比較して、拡張for文はカウンター(i < cars.length など)を必要としないため、よりシンプルに記述でき、読みやすくなります。

ただし、拡張for文では エレメントの値のみ が取得でき、配列内での ポジション(インデックス) を取得することはできません。

そのため、各エレメントのポジション(インデックス)と値の両方が必要な場合は、通常の for ループが適しています。例えば、劇場の座席番号を出力する場合、座席番号(インデックス)と、そこに誰が座っているか(値)の両方を表示する必要があります。

4.1 インデックスが必要な場合のコード例

String[] seats = {"ジェニー", "リアム", "アンジー", "ボー"};
for (int i = 0; i < seats.length; i++) {
  System.out.println("座席番号 " + i + " 番は " + seats[i] + " さんが予約しています。");
}