MENU

【Java Silver】1次元配列と配列操作の学習内容

今回も問題を解いていきましょう。

問題

次のプログラムを実行した場合の出力はどれでしょうか?正しい選択肢を選んでください。


public class ArrayTest {
    public static void main(String[] args) {
        int[] numbers = new int[5];
        numbers[0] = 10;
        numbers[1] = 20;
        numbers[2] = 30;
        numbers[3] = 40;
        System.out.println(numbers[4]);
    }
}
        

選択肢

  • A. 0
  • B. 50
  • C. コンパイルエラー
  • D. 実行時エラー

答えと解説

回答を見る

答え

A. 0

解説

解説のポイント:

  • 配列のデフォルト値
  • 配列の初期化とメモリの役割

Javaで配列を宣言すると、その配列の各要素はデフォルト値で初期化されます。int型では、デフォルト値は0となります。

このコードでは、5つの要素を持つint型配列numbersが宣言され、その内の4つの要素が値で初期化されています。しかし、5つ目の要素numbers[4]は初期化されておらず、デフォルト値の0が出力されます。

基本説明:

Javaの配列はゼロから始まるインデックスを使用し、定義されたサイズでメモリに連続して配置されます。これにより、配列の要素を効率的に格納・取得することが可能です。

誤答理由:

選択肢Bは誤りです。numbers[4]は初期化されていないため、50ではなくデフォルト値が出力されます。選択肢CとDも誤りです。本コードはコンパイルおよび実行に問題ありません。

つまずきポイント:

初期値やデフォルト値の理解不足がつまずきやすい点です。Javaでは他の型も同様のデフォルト値があるため、それぞれを知っておくことが重要です。

発展知識:

配列は固定サイズですが、ArrayListを使用することで動的にサイズを変更可能なリストを扱えます。ArrayListではnullが初期値として扱われ、NullPointerExceptionの理解も求められます。

目次