“switch”语句的基本语法如下:
switch (expression) {
case value1:
// 当expression的值等于value1时执行的代码
break;
case value2:
// 当expression的值等于value2时执行的代码
break;
case value3:
// 当expression的值等于value3时执行的代码
break;
default:
// 当expression的值不等于任何一个case时执行的代码
}
其中,“expression”是一个可以返回一个值的表达式(如变量或函数调用),它的值将被与每个“case”子句中的值进行比较。如果“expression”等于某个“case”子句中的值,则执行该子句中的代码。如果“expression”不等于任何一个“case”子句中的值,则执行“default”子句中的代码。
每个“case”子句都必须以“break”语句结束,以避免执行下一个“case”子句中的代码。如果没有“break”语句,则所有后续“case”子句和“default”子句中的代码都将被执行。
“switch”语句通常用于替代一系列“if-else”语句,以提高代码的可读性和可维护性。例如,下面的代码使用“if-else”语句来判断一个数字对应的中文数字:
int num = 3;
String chineseNum;
if (num == 1) {
chineseNum = "一";
} else if (num == 2) {
chineseNum = "二";
} else if (num == 3) {
chineseNum = "三";
} else if (num == 4) {
chineseNum = "四";
} else if (num == 5) {
chineseNum = "五";
} else {
chineseNum = "未知";
}
System.out.println(chineseNum);
使用“switch”语句可以使代码更加简洁和易读:
int num = 3;
String chineseNum;
switch (num) {
case 1:
chineseNum = "一";
break;
case 2:
chineseNum = "二";
break;
case 3:
chineseNum = "三";
break;
case 4:
chineseNum = "四";
break;
case 5:
chineseNum = "五";
break;
default:
chineseNum = "未知";
}
System.out.println(chineseNum);
注意,在这个例子中,“case”子句中的值必须是整数常量或枚举常量。在Java SE 7及以上版本中,“case”子句中的值还可以是字符串常量。
“switch”语句还可以嵌套在其他控制流程语句中使用,例如:
int num = 3;
int level;
switch (num) {
case 1:
case 2:
case 3:
level = 1;
break;
case 4:
case 5:
case 6:
level = 2;
break;
case 7:
case 8:
case 9:
level = 3;
break;
default:
level = 0;
}
switch (level) {
case 1:
System.out.println("初级玩家");
break;
case 2:
System.out.println("中级玩家");
break;
case 3:
System.out.println("高级玩家");
break;
default:
System.out.println("未知等级");
}
在这个例子中,第一个“switch”语句根据“num”的值确定一个“level”值,第二个“switch”语句根据“level”的值输出一个对应的文本信息。注意,多个“case”子句可以共享同一个代码块(如“case 1: case 2: case 3:”),以减少代码冗余。
下面是一个完整的“switch”语句的示例程序,它根据用户输入的月份输出该月份所在的季节:
import java.util.Scanner;
public class Season {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入月份(1-12):");
int month = scanner.nextInt();
String season;
switch (month) {
case 1:
case 2:
case 12:
season = "冬季";
break;
case 3:
case 4:
case 5:
season = "春季";
break;
case 6:
case 7:
case 8:
season = "夏季";
break;
case 9:
case 10:
case 11:
season = "秋季";
break;
default:
season = "未知";
}
System.out.println(month + "月份所在的季节是:" + season);
}
}
在这个程序中,用户输入一个月份,程序使用“switch”语句根据月份确定该月份所在的季节,并输出对应的文本信息。注意,我们使用了“Scanner”类来获取用户的输入。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。