au PAY マーケット

Java (Bronze SE 7/8) 資格試験 Exercise12

Java (Bronze SE 7/8) 資格試験 Exercise12

練習問題1
1 class MainTest {
2  public static void main(int[ ] args) {
3   System.out.println(“result : ” + args[0] + args[1]);
4  }
5  public static void main(String[ ] args) {
6   System.out.println(“result : ” + args[2] + args[3]);
7  }
8  public static void main(char[ ] args) {
9   System.out.println(“result : ” + args[4] + args[5]);
10  }
11 }

01上記のコードを確認してください。
このコードをコンパイルし、java MainTest aa bb cc dd ee ff と実行すると、どのような結果になりますか。1つ選択してください。 A. result = aabb
   result = ccd
   result = eeff

B. result = aabb
C. result = ccdd
D. result = eeff

(答え):C

(解説):main()メソッドとコマンドライン引数についての問題です。
●各選択肢の解説は、以下の通りです。

javaコマンドは実行時に指定したクラスに定義されているmain()メソッドを呼び出し、処理を開始します。呼び出されるmain()メソッドは以下のように宣言します。


main()メソッド:
public static void main(String[ ] args)


コマンドライン引数はmain()メソッドの引数である、String配列型argsの要素として格納されることになります。

javaコマンドによって呼び出されるメソッドは、5行目のmain()メソッドのみです。それ以外のmain()メソッドは明示的に呼び出さなければ、実行されることはありません。

6行目では”result = ” + args[2] +args[3]と記述しています。Args[2]には”cc”、args[3]には”dd”が格納されるため、「result = ccdd」が正しい出力となります。

したがって、選択肢Cが正解です。


練習問題2
1 class IncrementTest {
2  public static void main(String[ ] args) {
3   int a = 5;
4   int b = 6;
5
6   int x = ++a;
7   int y = b++;
8
9   x = y++;
10   y = x++;
11
12   System.out.println(“x: ” + x + ” y: ” + y);
13  }
14 }

02上記のコードを確認してください。
このコードをコンパイル、および実行すると、どのような結果になりますか。一つ選択してください。 A. x: 8 y: 9
B. x: 7 y: 7
C. x: 7 y: 6
D. x: 5 y: 6

(答え):C

(解説):インクリメント演算子、デクリメント演算子についての問題です。
●各選択肢の解説は、以下の通りです。

6行目では、インクリメント演算子を変数aの前に配置しています。この場合は変数aの値に1を加えてから変数xに代入するため、6行目の処理が終了した時点で、変数xは6を保持します。

7行目では、インクリメント演算子を変数bの後ろに配置しています。この場合は変数bの値を変数yに代入してから変数bの値に1を加えるため、7行目の処理が終了した時点で、変数yは6を保持します。

9行目では、変数xに変数yの値を代入してから変数yの値に1を加えるため、9行目の処理が終了した時点で変数xは6を、変数yは7を保持します。

10行目では、変数yに変数xの値を代入してから変数xの値に1を加えるため、10行目の処理が終了した時点で変数xは7を、変数yは6を保持します。

したがって、12行目では「x: 7 y:6」と出力されるため、選択肢Cが正解です。


練習問題3
1 class RelationalTest {
2  public static void main(String[ ] args) {
3   int num1 = 10;
4   int num2 = 10;
5   int num3 = 20;
6   int num4 = 30;
7
8   System.out.println(num1 != num2);
9   System.out.println(num1 < num3);
10   System.out.println(num1 >= num2);
11   System.out.println(num1 == num4);
12  }
13 }

03上記のコードを確認してください。
tureが出力されるのは何行目ですか。一つ選択してください。 A. 8行目、10行目
B. 9行目、10行目
C. 8行目、9行目、10行目
D. 9行目、10行目、11行目

(答え):B

(解説):関係演算子についての問題です。
●解説は以下の通りです。

  8行目では、変数num1と変数num2を!=演算子で比較しているため、10 != 10の比較式になります。!=演算子は左辺と右辺が異なる値である場合にtrueを返します。条件を満たしていないため、8行目では「false」と出力されます。

9行目では、変数num1と変数num3を < 演算子で比較しているため、10 < 20の比較式になります。< 演算子は、左辺が右辺よりも小さい場合にtrueを返します。条件を満たしているため、9行目では「true」と出力されます。

10行目では、変数num1と変数num2を>=演算子で比較しているため、10>=10の比較式になります。>=演算子は、左辺が右辺より大きい、もしくは等しい場合にtrueを返します。条件を満たしているため、10行目では「true」と出力されます。

11行目では、変数num1と変数num4を==演算子で比較しているため、10==30の比較式になります。==演算子は、左辺と右辺が等しい値の場合にtrueを返します。条件を満たしていないため、11行目では「false」と出力されます。

したがって、9行目と10行目で「true」と出力されるため、選択肢Bが正解です。



 
※ インクリメント演算子、デクリメント演算子
 
演算子使用例意味
++i++ または ++iiに1を加える
--i-- または --iiから1を引く

 ※ 関係演算子
 
演算子使用例意味
<a < baはbより小さい
>a > baはbより大きい
<=a <= baはbより小さいか等しい
>=a >= baはbより大きいか等しい
==a == baとbは等しい
!=a != baとbは等しくない




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

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

前の記事

我爱背单词#0008

次の記事

例文-Lesson55
ショップチャンネル