DEV Community

TANIAOKA, Akihiro
TANIAOKA, Akihiro

Posted on • Updated on

13章72

以下は、提供されたJavaコードにコメントを追加したものです。これにより、コードの各部分がどのように機能しているかをよりよく理解できます。

public class Sample {
    // 配列の長さを指定する定数
    public static final int length = 3;

    public static void main(String[] args) {
        // int型の配列を初期化
        int[] array = new int[length]; // 配列の全要素は自動的に0に初期化される

        // 配列の各要素を出力
        for (int i = 0; i < 3; i++) {
            System.out.print(array[i]); // 0が3回出力される
        }
        System.out.println(); // 改行を出力

        // Integer型の配列を初期化
        Integer[] array2 = new Integer[length]; // 配列の全要素は自動的にnullに初期化される

        // Integer配列の各要素を出力
        for (int i = 0; i < 3; i++) {
            System.out.print(array2[i]); // nullが3回出力される
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

このコードでは、int型配列とInteger型配列の初期値の違いを示しています。int型配列の要素は0で初期化され、Integer型配列の要素はnullで初期化されます。この違いはJavaのプリミティブ型とラッパー型の基本的な特性によるものです。プログラムはこれらの違いを出力して確認できるようになっています。

追記

000 となる理由

コード部分:

int[] array = new int[length];
for (int i = 0; i < length; i++) {
    System.out.print(array[i]);
}
System.out.println();
Enter fullscreen mode Exit fullscreen mode

理由:

  1. 配列の生成:

    • int[] array = new int[length]; により、長さ lengthint 型配列 array が作成されます。
    • length は3に設定されているため、array の長さは3です。
  2. デフォルト初期化:

    • Javaでは、配列が生成されると同時に各要素がデフォルト値で初期化されます。
    • int 型のデフォルト値は 0 なので、array の各要素は [0, 0, 0] になります。
  3. 出力:

    • for (int i = 0; i < length; i++) { System.out.print(array[i]); } で配列の各要素を順番に出力します。
    • array の各要素は 0 なので、出力は 000 となります。

nullnullnull となる理由

コード部分:

Integer[] array2 = new Integer[length];
for (int i = 0; i < length; i++) {
    System.out.print(array2[i]);
}
Enter fullscreen mode Exit fullscreen mode

理由:

  1. 配列の生成:

    • Integer[] array2 = new Integer[length]; により、長さ lengthInteger 型配列 array2 が作成されます。
    • length は3に設定されているため、array2 の長さは3です。
  2. デフォルト初期化:

    • Javaでは、オブジェクト型の配列が生成されると同時に各要素がデフォルト値で初期化されます。
    • Integer 型のデフォルト値は null なので、array2 の各要素は [null, null, null] になります。
  3. 出力:

    • for (int i = 0; i < length; i++) { System.out.print(array2[i]); } で配列の各要素を順番に出力します。
    • array2 の各要素は null なので、出力は nullnullnull となります。

まとめ

  • 000 となる理由:

    • int 型配列は各要素がデフォルト値 0 で初期化され、各要素を順番に出力すると 000 になります。
  • nullnullnull となる理由:

    • Integer 型配列は各要素がデフォルト値 null で初期化され、各要素を順番に出力すると nullnullnull になります。

Top comments (0)