Java 逆引き集 | 配列(一次元・多次元) — 固定長データ処理

Java Java
スポンサーリンク

配列(一次元・多次元) — 固定長データ処理

Javaの配列は「同じ型のデータをまとめて扱う箱」。サイズは固定で、宣言時に決めた長さを変えることはできません。一次元配列は「横一列」、多次元配列は「表や行列」のように扱えます。初心者向けに基本から例題まで解説します。


一次元配列(横一列のデータ)

宣言と初期化

// 長さだけ指定(要素は型の初期値)
int[] scores = new int[3]; // {0,0,0}

// 値を並べて初期化
int[] points = {10, 20, 30};
Java
  • 長さは固定: new int[3] としたら要素数は3で変えられない。
  • 初期値: プリミティブは 0 系、参照型は null。

要素アクセス

scores[0] = 80;           // 添字は0から始まる
int first = scores[0];    // 80
int last = points[2];     // 30
Java

👉 添字範囲外アクセスは例外ArrayIndexOutOfBoundsException)。


多次元配列(表や行列)

宣言と初期化

// 2行3列の配列
int[][] matrix = new int[2][3]; // {{0,0,0},{0,0,0}}

// 値を並べて初期化
int[][] grid = {
    {1, 2, 3},
    {4, 5, 6}
};
Java

要素アクセス

matrix[0][1] = 99;          // 1行目2列目に代入
int val = grid[1][2];       // 2行目3列目 → 6
Java

👉 添字は [行][列] の順。


配列の長さとループ処理

length プロパティ

int[] arr = {10, 20, 30};
System.out.println(arr.length); // 3
Java

for ループで走査

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
Java

拡張 for(全件処理)

for (int x : arr) {
    System.out.println(x);
}
Java

👉 インデックスが不要なら拡張 for が読みやすい。


例題で練習

例題1: 配列の合計

int[] sales = {1200, 980, 1530};
int total = 0;
for (int s : sales) {
    total += s;
}
System.out.println("合計: " + total); // 3710
Java

👉 拡張 for で全件処理。


例題2: 最大値を探す

int[] nums = {5, 9, 2, 7};
int max = nums[0];
for (int i = 1; i < nums.length; i++) {
    if (nums[i] > max) max = nums[i];
}
System.out.println("最大値: " + max); // 9
Java

👉 初期値は先頭要素から。


例題3: 二次元配列で九九表

int[][] kuku = new int[9][9];
for (int i = 0; i < 9; i++) {
    for (int j = 0; j < 9; j++) {
        kuku[i][j] = (i+1) * (j+1);
    }
}

// 表示
for (int i = 0; i < 9; i++) {
    for (int j = 0; j < 9; j++) {
        System.out.print(kuku[i][j] + "\t");
    }
    System.out.println();
}
Java

👉 二重ループで行列を処理。


例題4: 可変長の多次元配列(ジャグ配列)

int[][] jagged = new int[3][];
jagged[0] = new int[2]; // {0,0}
jagged[1] = new int[4]; // {0,0,0,0}
jagged[2] = new int[1]; // {0}
Java

👉 行ごとに列数を変えられる。


テンプレート集

一次元配列

Type[] arr = new Type[length];
arr[index] = value;
Java

多次元配列

Type[][] arr = new Type[rows][cols];
arr[row][col] = value;
Java

全件処理

for (Type x : arr) {
    // 要素ごとの処理
}
Java

二重ループ

for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        // arr[i][j] を処理
    }
}
Java

まとめ

  • 配列は固定長: 宣言時にサイズを決める。
  • 一次元: 横一列。添字は0から。
  • 多次元: 表や行列。二重ループで処理。
  • 拡張 for: インデックス不要なら便利。
  • ジャグ配列: 行ごとに列数を変えられる。

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