以下は、提供された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)