Java入門 #10 - 配列の基本

入門 | 10分 で読める | 2026.05.02

公式ドキュメント

今回やること

配列は、同じ型の値を決まった個数だけまとめる仕組みです。3教科の点数をint[]へ入れ、位置による取得・更新・繰り返しを確認します。

前提: Java入門 #9 - while文までを終え、変数とfor文を使えること。

scores → [80, 75, 90]
 index      0   1   2
特徴意味
同じ型int[]ならすべて整数
固定長作成後に要素数を増減できない
0始まり最初は[0]、最後は[length - 1]

1. 配列を宣言・初期化する

値が分かっている時は、波括弧でまとめて初期化できます。

int[] scores = {80, 75, 90};

int[]が整数配列の型、scoresが変数名です。3個の値を入れたためlengthは3です。

個数だけ先に決める書き方もあります。

int[] scores = new int[3];

この場合、各要素は整数の初期値0になります。今回の完成例では、値を同時に指定する最初の書き方を使います。

型ごとの代表的な初期値は次のとおりです。

配列の型newで作った直後の各要素
int[]0
double[]0.0
boolean[]false
String[]null

初期値が入っていても、学習用の点数として正しい値とは限りません。必要な要素へ値を設定してから計算します。

2. 添字で取得・更新する

角括弧の中の数字を添字(index)と呼びます。

System.out.println(scores[0]); // 80
scores[1] = 82;                // 75を82へ更新

scores[1]は2番目の値です。人が数える「1番目」とindex 1を混同しないようにします。

値を読む時も更新する時も同じindexを使うため、各位置が何を表すかをコメントや変数名で明確にします。

index更新前更新後
08080
17582
29090

3. lengthを使って合計する

通常のfor文ではindexを使えるため、各要素を順に取得できます。

int total = 0;
for (int i = 0; i < scores.length; i++) {
    total += scores[i];
}

条件はi < scores.lengthです。<=にすると、最後に存在しないscores[3]へ進んでしまいます。

このfor文では、iが0、1、2の3回だけ本体を実行します。次にiが3になると3 < 3がfalseになり、配列へ触る前に終了します。lengthを条件へ使えば、配列の要素数を変更してもループ側の固定値を直す必要がありません。

4. 拡張for文で値を読む

indexが不要で、すべての値を読むだけなら拡張for文を使えます。

for (int score : scores) {
    System.out.println(score);
}

この書き方では「何番目か」は直接分かりません。位置が必要なら通常のfor文を選びます。

完成コードを動かす

ArrayDemo.javaとして保存します。

public class ArrayDemo {
    public static void main(String[] args) {
        int[] scores = {80, 75, 90};
        scores[1] = 82;

        int total = 0;
        for (int i = 0; i < scores.length; i++) {
            total += scores[i];
        }

        double average = (double) total / scores.length;
        System.out.println("教科数: " + scores.length);
        System.out.println("平均: " + average);

        for (int score : scores) {
            System.out.println(score);
        }
    }
}
javac ArrayDemo.java
java ArrayDemo

(double)を付けてから割ることで、小数部分を残した平均になります。

成功確認

教科数: 3
平均: 84.0
80
82
90

2番目の値が82へ更新され、その値を使って平均が計算されれば成功です。

よくあるつまずき

scores[3]を読もうとする

長さ3の配列で有効なindexは0〜2です。範囲外へアクセスするとArrayIndexOutOfBoundsExceptionになります。最後の要素はscores[scores.length - 1]です。

for文をi <= scores.lengthにする

ilengthと同じ値まで進み、範囲外になります。条件はi < scores.lengthです。

後から4件目を追加しようとする

配列の長さは固定です。要素数が変わる用途は、後で学ぶArrayListが向いています。

練習

1週間のうち3日分の歩数をint[]へ入れてください。2日目を更新し、lengthを使うfor文で合計、拡張for文で各値を表示します。

次のステップ

Java入門 #11 - メソッドで、配列を扱う処理にも名前を付けてまとめられるようにします。

参考リソース

← 一覧に戻る
PR
PR
PR
PR