配列の要素の初期値
出力はどれか。
public class Main {
public static void main(String[] args) {
int[] a = new int[2];
String[] s = new String[2];
char[] c = new char[1];
System.out.println(a[1] + " " + s[1] + " " + (c[0] == 0));
}
}
- A
0 null true - B
0 false - C コンパイルエラーになる
- D 実行時に例外が発生する
正解と解説を見る
正解: A
- A: new で作った配列の要素には初期値が入ります。int は 0、String は null、char は '\u0000' (値は 0) です。
- B: null の String は "null" と表示されます。また char の初期値は 0 なので
c[0] == 0は true です。 - C: 配列の要素は初期化しなくても使えます。
- D: 初期値が入っているので、読んでも例外にはなりません。
ポイント
- new で作った配列の要素には初期値が入ります。数値は 0、boolean は false、char は '\u0000' (値は 0)、参照型は null です。
「配列 (一次元配列、二次元配列) の宣言、インスタンス化、初期化および使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)