以下は、提供された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回出力される
}
}
}
このコードでは、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();
理由:
-
配列の生成:
-
int[] array = new int[length];
により、長さlength
のint
型配列array
が作成されます。 -
length
は3に設定されているため、array
の長さは3です。
-
-
デフォルト初期化:
- Javaでは、配列が生成されると同時に各要素がデフォルト値で初期化されます。
-
int
型のデフォルト値は0
なので、array
の各要素は[0, 0, 0]
になります。
-
出力:
-
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]);
}
理由:
-
配列の生成:
-
Integer[] array2 = new Integer[length];
により、長さlength
のInteger
型配列array2
が作成されます。 -
length
は3に設定されているため、array2
の長さは3です。
-
-
デフォルト初期化:
- Javaでは、オブジェクト型の配列が生成されると同時に各要素がデフォルト値で初期化されます。
-
Integer
型のデフォルト値はnull
なので、array2
の各要素は[null, null, null]
になります。
-
出力:
-
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)