Javaの制御構文に関連する練習問題を新たに選択式で作成しました。
問題数はこれからどんどん増やす予定です。
選択肢をクリックすると下のほうに、正解/不正解と簡単な解説が表示されます。
主な項目
このページの練習問題で出題するおもな項目は以下の通りです。
- if文
- switch文
- for文
- while文
- break
- continue
制御構文に関する選択問題
- 問題文1
- 解答1
- 解答2
- 解答3
- 解答4
- 解答5
- 解答6
- 解答7
- 解答8
- 解答9
- 解答10
次の問題へ
答えおよび解説1
問題
- 制御構文の説明として間違っているものを選んでください
- if(条件){} の条件部分に記述できる処理として間違っているものを選んでください
- switch(式){ の式に記述できる型として間違っているものを選んでください
- ifの説明として間違っているものを選んでください
- switchの説明として間違っているものを選んでください(numberはint型とします)
- 反復処理(ループ処理)の説明として間違っているものを選んでください
- breakの説明として間違っているものを選んでください
- cotinueの説明として間違っているものを選んでください
- 次のfor文で無限ループ(ループが終了しない)になるものを選んでください
選択肢
- 制御構文を利用しないプログラムの流れは、記述された流れを逐次実行する為「逐次処理」と呼ばれる
条件によってプログラムの流れを変更する処理は「分岐処理」と呼ばれ、ifやswitchがある
プログラムの流れを何度も繰り返し行う処理を「反復処理」と呼び、forやwhileがある
プログラムの処理順序を入れ替えたり上書きしたりする処理を「継続処理」と呼び、breakやcontinueがある - 3 > 5
5 == 5
int num = 5 + 5
3 > 5 && 5 > 5 - char型
short型
int型
long型 - if-else if文では必ずすべての条件が確認(実行)される
if-else if文では上から順に条件が確認(実行)される
ifやelse ifでの条件はboolean型の変数(もしくは演算結果)を利用できる
ifやelse ifでの条件はboolean型の値を利用できる - 式には算術演算子を記述できる【例:switch(number + 5)】
式には代入演算子を記述できる【例:switch(number = 5)】
式には比較演算子を記述できる【例:switch(number > 5)】
式にはインクリメントを記述できる【例:switch(number++)】 - for文は一回も実行されないことがある
while文は一回も実行されないことがある
do-while文は一回も実行されないことがある
反復処理内にはbreakやcontinueを記述できる - forやwhileなどのループ文だけでなくswitch文でも記述できる
switch文だけでなくif文でも記述できる
ループ内のbreakに到達すると、ループは終了する
switch文中のbreakは記述しなくてもエラーにならない - forやwhileなどのループ文で記述可能で、switch文では記述できない
breakと同様にループを終了させることができる
continueに到達するとその後の処理を中断し、ループ文の先頭に戻る
for文中のcontinueに到達すると、増減式に処理が移る - for(int i = 0; i < 100; i++){
for(int i = 0; i < 100; i+=2){
for(int i = 100; i > 0; i++){
for(int i = 100; i > 0; i–){
解答
- breakはcontineは処理順序を入れ替えたり上書きしたりはできません。制御構文の基本は「逐次処理」「分岐処理」「反復処理」となっています。
- 条件には結果としてboolean型となる演算を記述します。代入演算自体は条件内に利用できますが、型がint型となっているため、エラーとなります。(条件内に変数宣言を書くこともエラーとなります)
- switchの式部分に記述できるのは「char」「byte」「short」「int」「String」「enum」です。同じ整数型でもlong型は利用できません。
- if-else if文は上から順に実行され、条件に合致すれば以降の条件は実行しません。
- switchの式部分には演算も記述できますが、演算結果が指定(intやenum)の型以外の場合はエラーとなります。
- 通常のループ処理は条件の真偽によって、ループするかどうかが決まりますが、do-while文は必ず一度実行される反復処理となります。
- breakはループ文とswitch文の中に記述することができます。switch文ではbreakを記述することが多いですが、記述は必須ではありません。
- continueはループ文中に記述することができます。contiuneに到達するとループの先頭(whileの条件やforの増減式)に戻り、ループを継続します。
- [int i = 100; i > 0; i++]という構文にした場合、iは100スタートでループごとに増えていきます。しかし、条件が0以上となっており100でも101でも200でも0以上となるため、ループは終了しません。
答え
- 4
- 3
- 4
- 1
- 3
- 3
- 2
- 2
- 3