Java (Bronze SE 7/8) 資格試験 Exercise19
Java (Bronze SE 7/8) 資格試験 Exercise19
1 | class WhileTest { |
---|---|
2 | public static void main(String[ ] args) { |
3 | int num[ ] = { 0, 1, 2 }; |
4 | int i = 0; |
5 | while( i <= num.length) { |
6 | System.out.println(num[i]); |
7 | } |
8 | } |
9 | } |
01
(答え):D
(解説):while文についての問題です。 while文は繰り返し処理を実行するために使用されます。
●各選択肢の解説は、以下の通りです。
3行目では、int型の配列numを三つの要素で初期化しています。
4行目では、int型の変数iを0で初期化しています。
5行目では、while文の条件式をi<=num.lengthと設定しています。num.lengthは3の値を返すため、0<=3が一回目のループの条件式となり、true判定となります。
一回目のループでは、6行目のnum[0]により0が出力されます。
一回目のループ終了後、二度目の条件判定を行いますが、変数iの値は変化していないため、判定は再びtrueとなります。さらに何度ループしても変数iはfalseに変化することがないため1が無限に出力される、無限ループとなります。
したがって、選択肢Dが正解です。
1 | class WhileTest { |
---|---|
2 | public static void main(String[ ] args) { |
3 | int num = 0; |
4 | while(true) { |
5 | System.out.println(num); |
6 | num++; |
7 | if(num == 5) { |
8 | break; |
9 | } |
10 | } |
11 | } |
12 | } |
02
(答え):A
(解説):while文についての問題です。
●各選択肢の解説は、以下の通りです。
4行目のwhile文は条件式にboolean型のtrueを直接指定しているため、無限ループになります。
一回目のループでは、5行目で変数numを出力後、6行目で変数numに1加算しています。
7行目のif文では、変数numが5の時に8行目のbreak文でループが終了となるため、変数numが0~4の間ループが実行されます。
したがって、実行結果は「01234」と出力されるため、選択肢Aが正解です。
1 | class WhileTest { |
---|---|
2 | public static void main(String[ ] agrs) { |
3 | boolean x = true; |
4 | while(x) { |
5 | x = false; |
6 | if(!x) { |
7 | System.out.println(“A”); |
8 | x = true; |
9 | continue; |
10 | } |
11 | System.out.println(“B”); |
12 | break; |
13 | } |
14 | } |
15 | } |
03
(答え):D
(解説):while文についての問題です。
●解説は以下の通りです。
3行目では、変数xをtrueで初期化しているため、4行目のwhile文はtrue判定となります。
一回目のループでは、以下の処理を実行します。
①5行目 変数xにfalseを代入②6行目 if文の条件判定はtrueとなり、7行目で「A」を出力③8行目 変数xにtrueを代入④9行目 continue文でループの先頭に制御が移る
9行目の処理が終了した時点で、変数xはtrueを保持します。
continue文は以降の処理をスキップし、ループの先頭である4行目に制御が移ります。
2回目の条件判定では、変数xはtrueのままであるため、true判定となり、上記①~④の処理を繰り返し実行します。
さらに何回ループしても11~12行目に制御が移ることはありません。
したがって、「A」が無限に出力される無限ループとなるため、選択肢Dが正解です。
while( 条件式 ) { // 処理 }
Java(Bronze SE 7/8)資格試験 Exercise18

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

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