Java (Bronze SE 7/8) 資格試験 Exercise11
Java (Bronze SE 7/8) 資格試験 Exercise11
1 | class Calc { |
---|---|
2 | public static void main(String[ ] args ){ |
3 | System.out.println(“sum : ” + (args[0] + args[1])); |
4 | } |
5 | } |
01
(答え):A
(解説):コマンドライン引数と文字列結合についての問題です。
●各選択肢の解説は、以下の通りです。
実行時に100、200の二つのコマンドライン引数を渡しています。
3行目ではargs[0] +args[1]の結果を出力していますが、コマンドライン引数はString型配列argsの要素として格納されるため、実行時に渡した二つのコマンドライン引数は整数値ではなく、文字列になります。よって、args[0] + args[1]の処理は数値の加算ではなく、文字列の結合となり「100200」が生成されます。
したがって、3行目では「sum:100200」と出力されるため、選択肢Aが正解です。
1 | class Calc { |
---|---|
2 | public static void main(String[ ] args ){ |
3 | System.out.println(“sum : ” + (args[1] + args[2])); |
4 | } |
5 | } |
02
(答え):B
(解説):コマンドライン引数についての問題です。
●各選択肢の解説は、以下の通りです。
実行時に100、200の二つのコマンドライン引数を渡しています。
3行目でコマンドライン引数を出力していますが、args[1] + args[2]と添え字を指定しています。実行時に渡した引数はmain()メソッドの引数で宣言しているString型の配列として添え字0から順に格納されます。渡した引数はargs[0]、args[1]に格納されるため、args[2]の要素は存在しません。範囲外の要素にアクセスすることによって、ArrayIndexOutOfBoundsExceptionという実行時エラーが発生します。
範囲外の存在しない配列要素に対してアクセスするコードがあっても、コンパイルでは検知できません。3行目が実行されたタイミングでエラーが発生し、プログラムは強制終了します。
したがって、選択肢Bが正解です。
1 | class Test { |
---|---|
2 | public static void main(String[ ] args ){ |
3 | System.out.println(args[0] + args[1]); |
4 | } |
5 | } |
03
(答え):C
(解説):コマンドライン引数についての問題です。
●解説は以下の通りです。
選択肢A:
実行時に、Hello+Nekoと!の二つのコマンドライン引数を渡しています。
選択肢B:
一つ目の引数がHello+Nekoとありますが、引数の中で+演算子を使用して文字列の結合はできないため、渡した引数がそのまま文字列として配列argsの要素へ格納されます。
選択肢C:
3行目で二つの引数を結合しているため、「Hello+Neko!」が出力されます。
選択肢D:
したがって、選択肢Cが正解です。
Java(Bronze SE 7/8)資格試験 Exercise10

恭喜你今天又向前迈进了一小步,明天继续加油哦!

如果你觉得这个网站对学习有帮助,希望你也能分享给身边的好友!