English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом курсе вы узнаете, как использовать switch-выражение в Java для управления потоком выполнения программы
В 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: // дефолтное выражение }
Выражение switch-выражения оценивает expression или variable (выражение или переменную) и сравнивает его со значениями каждого case-выражения (может быть выражением).
Теперь, если значение совпадает с某个 меткой case, то будут выполнены все команды, соответствующие этой метке.
Например, если variable/expression равна value2. В этом случае будут выполнены все команды, соответствующие этому совпадению (команды case2).
Обратите внимание, что в каждом случае используется ключевое слово break. Ключевое слово break используется для завершения выполнения switch-выражения.
Это важно, так как без использования ключевого слова break все команды после case будут выполняться по порядку до конца switch-выражения.
class Main { public static void main(String[] args) { int week = 4; String day; // switc̆ hуz̆dаchĭ po nedеli switch (week) { case 1: day = "Sunday"; break; case 2: day = "Monday"; break; case 3: day = "Tuesday"; break; //匹̆chаtь значени́e nedеli 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); } }
вывод:
这一天是 Wednesday
在上面的示例中,我们使用switch语句找出一周中的某天。在这里,我们有一个保存整数值的变量week。将该值与switch块case内的每个值进行比较。
这里week的值是4。因此,它与case 4匹配。所以case 4里面的语句被执行了。
下面的程序从用户那里接受三个输入:一个运算符和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 для создания калькулятора. Он выполняет вычисления в зависимости от предоставленного пользователем оператора.