初期化しない var
このコードを実行するとどうなるか。
public class Main {
public static void main(String[] args) {
var x;
x = 17;
System.out.println(x);
}
}
- A
17と出力される - B
0と出力される - C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: D
- A: 実行まで進まないので、何も出力されません。
- B: var には初期値が自動で入ることはありません。
- C: 型を推論できないのはコンパイル時の誤りです。
- D: var は初期化子から型を決めるので、初期化しない宣言はコンパイルエラーです。
ポイント
- var は右辺 (初期化子) から型を決めるので、初期化しない宣言はできません。