English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java フロー制御

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 異常処理

Java リスト(List)

Java Queue(キュー)

Java Mapコレクション

Java Setコレクション

Java 入出力(I/O)

Java Reader/Writer

Java その他のトピック

Java switch ステートメント

本教程では、Javaのswitch文を使用してプログラムの実行フローを制御する方法を学びます。

Javaでは、以下を使用します。if..else..if階段複数のブロック間でコードブロックを実行します。ただし、if ... else ... ifの構文は長くなります。

したがって、switch文を使用してlongを置き換えることができます。 if ... else ... if梯子。switch文の使用により、コードの可読性が向上します。

switch文の構文は以下の通りです:

switch (variable/expression) {
case value1:
   //  case1 文
   break;
case value2:
   // case2 文
   break;
   .. .. ...
   .. .. ...
default:
   // default文
}

switch文はexpressionやvariable(表現や変数)を評価し、それを各caseタグの値(表現であれば良い)と比較します。

現在、値が特定のcaseタグと一致する場合、一致するcaseタグのすべての文を実行します。

例えば、variable/expressionがvalueに等しい2。この場合、caseは一致するすべての文を実行します(case2の文)。

注意:各ケースでbreak文を使用してください。break文は、switchの実行を終了するために使用されます。

これは重要です。break文を使用しない場合、caseの後のすべての文が順序に実行され、switch文が終了するまで続きます。

switch文のフローチャート

Javaのswitch文のフローチャート

例1:Javaのswitch文

class Main {
    public static void main(String[] args) {
        int week = 4;
        String day;
        // switch文を使って曜日を判断します
        switch (week) {
            case 1:
                day = "Sunday";
                break;
            case 2:
                day = "Monday";
                break;
            case 3:
                day = "Tuesday";
                break;
            //星期的値に一致します
            case 4:
                day = "Wednesday";
                break;
            case 5:
                day = "Thursday";
                break;
            case 6:
                day = "Friday";
                break;
            case 7:
                day = "Saturday";
                break;
            default:
                day = "Invalid day";
                break;
        }
        System.out.println("それは「" + day);
    }
}

出力:

それは水曜日です

上記の例では、switch文を使って週の特定の日を特定しました。ここでは、整数値を保存する変数weekがあります。この値をswitchブロック内の各値と比較します。

ここではweekの値は4。したがって、それはcase 4に一致しました。したがって、case 4内の文が実行されます。

例2:switch文を使って計算機を作成します

以下のプログラムは、ユーザーから3つの入力を受け取ります:の演算子2の数字。ユーザーが提供した演算子に基づいて、これらの数字を計算します。その後、結果がスクリーンに表示されます。

このプログラムをブラウズする前に、以下のことを理解しておくと良いでしょう。Javaのscannerユーザーの入力を受け取ります。

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        char operator;
        Double number1, number2, result;
        //Scannerクラスのオブジェクトを生成します
        Scanner scanner = new Scanner(System.in);
        System.out.print("演算子を入力してください (オプション: +, -, * または /);
        //ユーザーに演算子の入力を求めます
        operator = scanner.next().charAt(0);
        System.out.print("それぞれの数字を入力します1と数字2: ");
        //ユーザーに数字の入力を求めます
        number1 = scanner.nextDouble();
        number2 = scanner.nextDouble();
        switch (operator) {
            //二つの数字を足します
            case+:
                result = number1 + number2;
                System.out.print(number1 + "+" + number2 + "=" + result);
                break;
            //二つの数字を引きます
            case-:
                result = number1 - number2;
                System.out.print(number1 + "-" + number2 + "=" + result);
                break;
            //二つの数字をかけます
            case*:
                result = number1 * number2;
                System.out.print(number1 + "*" + number2 + "=" + result);
                break;
            //二つの数字を割る
            case/:
                result = number1 / number2;
                System.out.print(number1 + "/" + number2 + "=" + result);
                break;
            default:
                System.out.println("Invalid operator!");
                break;
        }
    }
}

出力:

演算子を入力(オプション: +, -, * または /)  *
それぞれの数字を入力します1と数字2: 1.4
-5.3
1.4*-5.3 = -7.419999999999999

上記の例では、switch文を使用して計算機を作成しました。ユーザーが提供した演算子に応じて計算が行われます。