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 其他专题

جملة switch Java

在本课件中,你将学习如何使用Java中的switch语句来控制程序执行的流程

在Java中,我们使用了if..else..if极子在多个块之间执行一个代码块。但是,if ... else ... if极子的语法就连得连连了。

因为,我们可以使用switch语句代替long if ... else ... if极子。switch语句的使用有改换我们的代码更加可读性。

switch语句的语法为:

switch (variable/expression) {
case value1:
   //匹配1语句
   قفزة;
case value2:
   //匹配2语句
   قفزة;
   ..……
   ..……
الافتراضي:
   //默认语句
}

switch语句评估expression或variable。将实行语句与每个case标签的值。值可以是行号。

现在,如果值与有应的case标签匹配,那么将执行匹配的case标签的所有语句。

例如,如果 variable/expression 等于value2。在该情况下,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";
                قفزة;
            case 2:
                day = ";Monday";
                قفزة;
            case 3:
                day = ";Tuesday";
                قفزة;
            //匹配星期的值
            case 4:
                day = ";Wednesday";
                قفزة;
            case 5:
                day = ";Thursday";
                قفزة;
            case 6:
                day = ";Friday";
                قفزة;
            case 7:
                day = ";Saturday";
                قفزة;
            الافتراضي:
                day = "Invalid day";
                قفزة;
        }
        System.out.println("هذااليومهـ" + day);
    }
}

الخروج:

هذااليومهـWednesday

فيالمثالالسابق،استخدمناتعليمهـswitchلفindingيوممنالأسبوع.فيهذا،لدينامتغيرـweekيحملقيمةعددية.يتم مقارنةالقيمةبكلقيمةفيكتلةـcaseفيـswitch.

قيمةـweekهـي4.لذلك،يُطابقـcase4.لذاتمتنفيذجملـcase4.

مثال2:استخدامتعليمهـswitchلصنعحاسبة

يأخذالبرنامجالتاليثلاثإدخالاتمنالمستخدم:رمزواحدوعددثنينعلىأساسالرمزالمقدممنالمستخدم،تمتمحاسبةالعدد.ثمتمتعرضالنتيجةعلىالشاشة.

قبلمراجعةهذاالبرنامج،منالأفضلأنتكونفهمت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);
                قفزة;
            //إحداثيةاناعدادإفتراضية
            case '-":
                result = number1 - number2;
                System.out.print(number1 + "-" + number2 + "= " + result);
                قفزة;
            //إحداثيةاناعدادإفتراضية
            حالة "*":
                result = number1 * number2;
                System.out.print(number1 + "*" + number2 + " = " + result);
                قفزة;
            // تفاصيل جزء من الكود
            حالة "/":
                result = number1 / number2;
                System.out.print(number1 + "/" + number2 + " = " + result);
                قفزة;
            الافتراضي:
                System.out.println("operator غير صالح!");
                قفزة;
        }
    }
}

الخروج:

أدخل العلامة الحسابية (الخيارات: +، -, * أو /): *
أدخل الرقم 1 والرقم 2 بشكل منفصل: 1.4
-5.3
1.4*-5.3 = -7.419999999999999

في المثال أعلاه، استخدمنا جملة switch لإنشاء حاسبة. إنه ي�行 الحسابات بناءً على العلامة الحسابية التي يقدمها المستخدم.