Java | 配列の「長さ」を取得する

Java Java
スポンサーリンク

ここでは 配列の length を中心に学ぶ、初心者向けの練習問題集(全10問) を紹介します。
全問に 解答と解説付き です。


問題1:配列の長さを出力

int[] nums = {5, 10, 15, 20};
Java

問い: 配列 nums の長さを出力するコードを書け。

解答:

System.out.println(nums.length); // 4
Java

解説:

  • 配列 nums は要素が4つ → length は 4
  • 配列の最後のインデックスは length - 1 になる

問題2:最後の要素を取得

int[] nums = {7, 14, 21};
Java

問い: 最後の要素を取得する式を書け。

解答:

int last = nums[nums.length - 1]; // 21
Java

解説:

  • 配列のインデックスは 0 から始まる
  • 最後の要素は length - 1 の位置にある

問題3:配列の全要素を出力(for文)

int[] nums = {3, 6, 9};
Java

問い: 配列の全要素を1行ずつ出力する for 文を書け。

解答:

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

解説:

  • ループ条件は i < nums.length が安全
  • 最後の要素の後で配列外アクセスを防げる

問題4:合計を求める

int[] nums = {1, 2, 3, 4, 5};
Java

問い: 配列の全要素の合計を求めるコードを書け。

解答:

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

解説:

  • 配列の長さはループ回数に使用
  • 合計を求めるときは変数を初期化してから足し算する

問題5:平均を求める

int[] nums = {10, 20, 30};
Java

問い: 配列の平均値を求めるコードを書け。

解答:

int sum = 0;
for (int i = 0; i < nums.length; i++) {
    sum += nums[i];
}
double avg = (double) sum / nums.length;
System.out.println(avg); // 20.0
Java

解説:

  • 整数同士の割り算は切り捨てされるので、double にキャストする
  • length で割ることで要素数に応じて平均を自動計算

問題6:最大値を求める

int[] nums = {8, 3, 15, 6};
Java

問い: 配列の最大値を求めるコードを書け。

解答:

int max = nums[0];
for (int i = 1; i < nums.length; i++) {
    if (nums[i] > max) {
        max = nums[i];
    }
}
System.out.println(max); // 15
Java

解説:

  • length はループ回数の制御に必須
  • 0番目を初期値にして1番目以降と比較

問題7:偶数だけ出力

int[] nums = {1, 2, 3, 4, 5, 6};
Java

問い: 偶数だけ出力するコードを書け。

解答:

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

解説:

  • ループ回数は nums.length
  • 条件付きで出力するときも length を使う

問題8:逆順に出力

int[] nums = {10, 20, 30, 40};
Java

問い: 配列を逆順に出力するコードを書け。

解答:

for (int i = nums.length - 1; i >= 0; i--) {
    System.out.println(nums[i]);
}
Java

解説:

  • 最後のインデックスは length - 1
  • 逆順ループは i-- で降順に回す

問題9:平均以上の要素を出力

int[] nums = {5, 10, 15, 20};
Java

問い: 平均以上の要素を出力するコードを書け。

解答:

int sum = 0;
for (int i = 0; i < nums.length; i++) {
    sum += nums[i];
}
double avg = (double) sum / nums.length;

for (int i = 0; i < nums.length; i++) {
    if (nums[i] >= avg) {
        System.out.println(nums[i]);
    }
}
// 出力: 15, 20
Java

解説:

  • 平均計算には length を使用
  • 条件付き出力でもループの範囲は length で安全に指定

問題10:2次元配列の要素数を出力

int[][] table = {
    {1, 2, 3},
    {4, 5, 6, 7}
};
Java

問い: 各行の要素数を出力するコードを書け。

解答:

for (int i = 0; i < table.length; i++) {
    System.out.println("行 " + i + " の長さ: " + table[i].length);
}
// 出力:
// 行 0 の長さ: 3
// 行 1 の長さ: 4
Java

解説:

  • 2次元配列は「行ごとに .length がある」
  • table.length は行数、table[i].length はその行の列数

✅ まとめポイント

  1. 配列の長さは .length で取得
  2. ループで配列全体を処理するときは必ず i < array.length
  3. 最後の要素は array[array.length - 1]
  4. 多次元配列は行ごとに .length がある
  5. 平均や合計などの計算にも length を活用
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました