こんにちは。ECF Tech
ブログ担当 Michiharu.Tです。
Javaプログラミング向け練習問題、今回のテーマは「分岐構文」です。
ifやswitchなどを取り扱います。制御構文はプログラミング初学者の方の最初のつまづきポイントともいえるかもしれません。ぜひ、学習にお役立てください。
一般的なJavaの学習順序に沿ったテーマの一覧(※随時追加)は、こちらのリンクよりご確認頂けます。

Javaのトピックスです。主に初心者向けにプログラミング学習ネタを提供していきます。
問題編
Q001
問題
①に「aが7より大きいならtrue」という式を記述し、
実行結果を得てください。
提供コード
public class Quiz001 { public static void main(String[] args) { int a = 12; if (①) { System.out.println("aは7より大きいです。"); } } }
実行結果
aは7より大きいです。
Q002
問題
下記を行ない、実行結果を得てください。
- 提供コード内の①に「aが8以上ならtrue」という式を記述します。
- 提供コード内の7行目にelseブロックを追加します。ブロック内には
「aは8より小さいです」と表示するプログラムを記述します。
提供コード
public class Quiz002 { public static void main(String[] args) { int a = 7; if (①) { System.out.println("aは8以上です。"); } //elseブロックをここに書きます } }
実行結果
aは8以下です。
Q003
問題
下記を行ない、実行結果を得てください。
提供コード
public class Quiz003 { public static void main(String[] args) { int a = 7; if (①) { System.out.println("aは7より小さいです"); } //ここにelse ifブロックを追加します。 //ここにelseブロックを追加します。 } }
実行結果
3行目のaの値を変えてコンパイル・実行をし、それぞれ
次の結果を得てください。
a = 6の時
aは7より小さいです
a = 7の時
aは7です
a = 8の時
aは7より大きいです
Q004
問題
下記のとおりに動作するswitch文を完成してください。
提供コード
public class Quiz004 { public static void main(String[] args) { int a = 5; switch (a) { //ここからプログラムを書きます } } }
実行結果
3行目のaの値を変えてコンパイル・実行をし、それぞれ
次の結果を得てください。
a = 1の時
小
a = 3の時
中
a = 5の時
大
Q005
問題
aが奇数か偶数かを判定し、
と表示するプログラムを作成してください。
(ヒント)
%
演算子を使います。
提供コード
public class Quiz005 { public static void main(String[] args) { //0~9までのランダムな値をaに代入してくれる命令です。 int a = new java.util.Random().nextInt(10); System.out.println("a = " + a); //ここからプログラムを書いていきます。 } }
実行結果
aが4のとき
a = 4 aは偶数です。
aが3のとき
a = 3 aは奇数です。
解答編
Q001
public class Quiz001 { public static void main(String[] args) { int a = 12; if (a > 7) { System.out.println("aは7より大きいです。"); } } }
Q002
public class Quiz002 { public static void main(String[] args) { int a = 8; if (a > 8) { System.out.println("aは8以上です。"); } else { System.out.println("aは8より小さいです。"); } } }
Q003
public class Quiz003 { public static void main(String[] args) { int a = 7; if (a < 7) { System.out.println("aは7より小さいです。"); } else if (a == 7) { System.out.println("aは7です。"); } else { System.out.println("aは7より大きいです。"); } } }
解説
else if
ブロックは、if
ブロックに続けていくつも書くことができます。
Q004
public class Quiz004 { public static void main(String[] args) { int a = 5; switch (a) { case 1: case 2: System.out.println("小"); break; case 3: case 4: System.out.println("中"); break; case 5: case 6: System.out.println("大"); break; } } }
解説
switch文内では、該当のcase部分から順に実行され、break
がくるまで実行され続けます。
Q005
public class Quiz005 { public static void main(String[] args) { int a = new java.util.Random().nextInt(10); System.out.println("a = " + a); if (a % 2 == 0) { System.out.println("aは偶数です。"); } else { System.out.println("aは奇数です。"); } } }
解説
%
を使った判定式は様々なケースで活躍できます。「5回ごとに実行する」などのプログラムも作成可能です。
おわりに
いかがでしたでしょうか。制御構文が入ってくるとプログラミングの幅が一気に広がります。問題もある意味いくらでもつくれます(笑)。というわけで、ひきつづき単元ごとに問題を徐々に増やしていきたいと思っていますので、よろしければぜひご活用ください。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報、また関連するご相談・問い合わせにつきましては下記よりご確認ください。
