在本教程中,您将学习如何使用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 等于value2。在这种情况下,case将执行该匹配的所有语句(case2的语句)。
注意,在每种情况下都使用break语句。break语句用于终止该语句的执行switch。
这很重要,因为如果不使用break语句,则case之后的所有语句将按顺序执行,直到switch语句结束。
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); } }
输出:
这一天是 Wednesday
在上面的示例中,我们使用switch语句找出一周中的某天。在这里,我们有一个保存整数值的变量week。将该值与switch块case内的每个值进行比较。
这里week的值是4。因此,它与case 4匹配。所以case 4里面的语句被执行了。
示例2:使用switch语句制作计算器
下面的程序从用户那里接受三个输入:一个运算符和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语句创建了一个计算器。它根据用户提供的运算符执行计算。