このページは「JAVAの分岐構文 switch-case」の演習問題です。「JAVAの分岐構文 switch-case」の基礎を学びたい方はこちらで参考してください。
JAVAの分岐構文 switch-case
この記事ではJAVAのswitch-case文を紹介します。switch-case分岐命令の構文や、使い方のバタンなどを皆さんが納得するまで例題を入れながら詳しく説明します。
1. switchで何曜日か確認する
問題:キーボードから1から7までの数字を入力して、それに応じて、何曜日かコンソールに出力する
package helloworld;
import java.util.Scanner; //Scannerクラスのimport
public class HelloWorld {
public static void main(String[] args) {
int number;
Scanner scanner = new Scanner(System.in);
System.out.print("1から7までの数字を入力する: ");
number = scanner.nextInt();
switch (number) {
case 1:
System.out.println(number + "は日曜日です");
break;
case 2:
System.out.println(number + "は月曜日です");
break;
case 3:
System.out.println(number + "は火曜日です");
break;
case 4:
System.out.println(number + "は水曜日です");
break;
case 5:
System.out.println(number + "は木曜日です");
break;
case 6:
System.out.println(number + "は金曜日です");
break;
case 7:
System.out.println(number + "は土曜日です");
break;
default:
System.out.println("1から7までの数字を入力してくださいよ。");
}
}
}実行結果:

2. 母音の確認するプログラム
問題:好きな文字を入力して、それは母音かを確認して、コンソールに出力する
ヒント : 日本語で母音はあ、い、う、え、おの文字ですpackage helloworld;
import java.util.Scanner; //Scannerクラスのimport
public class HelloWorld {
public static void main(String[] args) {
char ch;
Scanner scanner = new Scanner(System.in);
System.out.print("好きな文字を入力: ");
ch = scanner.next().charAt(0);
switch (ch) {
case 'あ':
case 'い':
case 'う':
case 'え':
case 'お':
System.out.println(ch + " は母音です。");
break;
default:
System.out.println(ch + " は母音ではありません。");
}
}
}実行結果:

説明:
scanner.next().charAt(0)はスキャナーから文字を入力するのです。3. 二つの数字の演算
問題:int型の数字を2つ入力して、「+ - * /」演算子の中から入力して、その演算子に応じて計算し、コンソールに出力する
注意 : 割り算の場合、割られる数字は0になってはいけないので、演算子「/」の場合に if-else文を使いましょうpackage helloworld;
import java.util.Scanner; //Scannerクラスのimport
public class HelloWorld {
public static void main(String[] args) {
int aNumber, bNumber;
char kt;
Scanner scanner = new Scanner(System.in);
System.out.print("1つ目の数字を入力する: ");
aNumber = scanner.nextInt();
System.out.print("2つ目の数字を入力する: ");
bNumber = scanner.nextInt();
System.out.print("演算子(+, -, *, /)の中から選ぶ: ");
kt = scanner.next().charAt(0);
System.out.println("結果: ");
switch (kt) {
case '+':
System.out.println(aNumber + " + " + bNumber + " = " + (aNumber + bNumber));
break;
case '-':
System.out.println(aNumber + " - " + bNumber + " = " + (aNumber - bNumber));
break;
case '*':
System.out.println(aNumber + " * " + bNumber + " = " + (aNumber * bNumber));
break;
case '/':
if (bNumber == 0) {
System.out.println("二つ目の数字は0になってはいけません.");
} else {
System.out.println(aNumber + " / " + bNumber + " = " + (float) aNumber / bNumber); // 割り算の結果をfloat型に変換する
}
break;
default:
System.out.println("演算子不正!");
}
}
}
実行結果:


説明:
(float) (整数/整数)、もっと知りたい方は「JAVAのデータ型、使い方」の記事を見てください。4. 正しい選択肢を選ぶゲーム
問題:問題に応じて、選択肢ア、イ、ウ、エ選択肢の中から選び、正しければ、「正解」を、間違えたら「不正解」をコンソールに出力する
注意 : 「不正解」の回答は3つあります、つまり、処理が同じcaseブロックは3つあるため、break文を略してみましょう。package helloworld;
import java.util.Scanner; //Scannerクラスのimport
public class HelloWorld {
public static void main(String[] args) {
char result;
Scanner scanner = new Scanner(System.in);
System.out.println("「正しい boolean型の宣言し方は」:下の4つの選択肢から選びなさい");
// 「\"」は「"」にコンソールの出力します
System.out.println("ア. boolean bool3 = \"1\";");
System.out.println("イ. boolean bool2 = \"true\";");
System.out.println("ウ. boolean bool1 = true;");
System.out.println("エ. boolean bool4 = 1;");
System.out.print("あなたの回答: ");
result = scanner.next().charAt(0);
switch (result) {
case 'ア':
case 'イ':
case 'エ':
System.out.println("不正解!");
break;
case 'ウ':
System.out.println("正解!");
break;
default:
System.out.println("以上の選択肢だけ選んでください");
}
}
}実行結果:

説明:
5. まとめ
以上の演習課題から、switch-case分岐命令の使い方は応用までわかりましたでしょうか!。
switch-case文にifse-elseを挟むことができたり、caseブロック内にbreak文を略しても大丈夫だったりすることがわかりましたね。switch-caseが使える場合はif-else文にも適用でしますが、ぜひswitch-case文を上手く使用してください。