main で値を返す
このコードを実行するとどうなるか。
public class Main {
public static void main(String[] args) {
System.out.println("end");
return 0;
}
}
- A
endと出力される - B
endと0が出力される - C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: D
- A: コンパイルエラーになるので、実行されません。
- B: void のメソッドで値を返すことはできないので、実行まで進みません。
- C:
return 0;はコンパイル時に見つかる誤りで、実行時の例外ではありません。 - D: main の戻り値は void なので、
return 0;のように値を返すとコンパイルエラーです。
ポイント
- main の戻り値の型は void なので、
return 0;のように値を返すとコンパイルエラーです。 - 値を返さない
return;なら書けます。終了コードを指定したいときはSystem.exit(0);を使います。
「main メソッドを持つ実行可能な Java プログラムの作成」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)