switch语句
switch语句是在程序中进行多重条件判断的一种结构,它可以根据表达式的值,选择不同的执行分支。
switch语句的语法如下:
switch (表达式) {
case 值1:
// 执行代码块1
break;
case 值2:
// 执行代码块2
break;
case 值3:
// 执行代码块3
break;
...
default:
// 默认执行代码块
}
表达式的值会与每个case后面的值进行比较,如果匹配则执行对应的代码块,然后通过break语句跳出switch语句。如果没有匹配的值,则执行default后面的代码块(可选)。
以下是一个示例,演示了如何使用switch语句判断一天的日期对应的星期几:
int day = 1; // 假设是星期一
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("无效的日期");
}
上述代码运行结果为:“星期一”。
注意,switch语句中的表达式的值必须是整型、字符型或枚举类型,每个case后面的值也必须是常量或常量表达式。默认情况下,switch语句会在找到匹配的case后继续执行后面的case,直到遇到break语句或者switch语句结束。
使用switch语句制作计算器
下面是一个使用switch语句制作计算器的示例代码:
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入第一个数字: ");
double num1 = scanner.nextDouble();
System.out.print("输入操作符 (+, -, *, /): ");
char operator = scanner.next().charAt(0);
System.out.print("输入第二个数字: ");
double num2 = scanner.nextDouble();
double result = 0;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
System.out.println("无效的操作符");
return;
}
System.out.println("结果: " + result);
}
}
这个程序会向用户要求输入两个数字和一个操作符,然后根据操作符进行相应的计算,并输出结果。操作符可以是加号 (+)、减号 (-)、乘号 (*) 或除号 (/)。如果用户输入了无效的操作符,程序会输出相应的错误消息。