【プログラミングしてみよう5】Javaの配列(Array)で複数のデータを扱う

Java

前回はfor文とwhile文を使って繰り返し処理を学びました。

今回は、複数のデータをまとめて扱うことができる「配列(Array)」について解説します。

配列とfor文を組み合わせることで、より実用的なプログラムが書けるようになります。

配列の基本

これまでは変数を1つずつ用意して値を入れていましたが、データの数が増えると変数も増えてしまい大変です。たとえば5人分の点数を扱うとき、変数を5つ用意するのは効率的ではありません。

こうしたとき、複数の値をまとめて1つの変数で扱える「配列」を使います。

データ型[] 配列名 = new データ型[要素数];

または、最初から値を決めておく場合は次のように書けます。

データ型[] 配列名 = {値1, 値2, 値3};

配列の要素には「インデックス」という番号でアクセスします。インデックスは0から始まるのが特徴です。

サンプルコード(配列とfor文)

ファイル作成

「Java01」フォルダに ArrayTest.java という名前でファイルを作成します

コード入力

以下のコードを入力します。

public class ArrayTest {
    public static void main(String[] args) {
        int[] scores = {80, 65, 90, 72, 100};

        for (int i = 0; i < scores.length; i++) {
            System.out.println((i + 1) + "番目の点数:" + scores[i]);
        }
    }
}

コンパイル

javac ArrayTest.java

実行

java ArrayTest

実行結果は次のようになります。

1番目の点数:80
2番目の点数:65
3番目の点数:90
4番目の点数:72
5番目の点数:100

コードの解説

int[] scores = {80, 65, 90, 72, 100}; は、5つの整数をまとめて持つ配列を作成しています。配列の各要素には scores[0]scores[1] のようにインデックスを使ってアクセスします。scores[0] が80、scores[4] が100となります。

scores.length は配列の要素数を表します。今回は5つの値が入っているので scores.length は5になります。配列の要素数をハードコーディングせずに length を使うことで、配列の中身が変わってもコードを修正する必要がなくなります。

for文の条件式を i < scores.length とすることで、配列の先頭から末尾まで順番にアクセスできます。表示時に i + 1 としているのは、インデックスが0始まりであるのに対し、人間にとって分かりやすい「1番目、2番目」という表示にするためです。

応用として、配列の中から合計や平均を求めることもできます。

int total = 0;
for (int i = 0; i < scores.length; i++) {
    total += scores[i];
}
double average = (double) total / scores.length;
System.out.println("合計:" + total);
System.out.println("平均:" + average);

total += scores[i]total = total + scores[i] と同じ意味で、ループのたびに合計に加算しています。(double) をつけているのは、整数同士の割り算では小数点以下が切り捨てられてしまうため、小数として計算するためです。

まとめ

配列を使うことで、複数のデータを1つの変数としてまとめて管理できるようになります。配列とfor文を組み合わせることで、すべての要素に対して同じ処理を繰り返したり、合計や平均などの集計を簡単に行えたりします。配列のインデックスが0から始まる点と、length で要素数を取得できる点は特に重要なので、しっかり覚えておきましょう。

2026/06/14(日) ぱんまる

コメント

タイトルとURLをコピーしました