可変長引数の main
このプログラムを引数なしで実行するとどうなるか。
public class Main {
public static void main(String... args) {
System.out.println("start " + args.length);
}
}
- A
start 0と出力される - B
startと出力される - C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: A
- A:
String... argsは開始点として使え、引数なしなら長さ 0 の配列が渡されます。 - B:
"start " + args.lengthなので、長さの 0 も連結されて出力されます。 - C: 可変長引数の main でも、引数なしで例外にはなりません。
- D:
String...の main は正しい書き方なのでコンパイルできます。
ポイント
String... argsはString[] argsと同じ扱いなので、開始点として使えます。- 引数なしなら長さ 0 の配列が渡されます。
「main メソッドを持つ実行可能な Java プログラムの作成」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)