Java中,switch-case语句是一种多分支的控制流语句,它可以使程序根据不同的条件执行不同的代码块。下面介绍一些Java switch-case语句的示例,帮助您了解它的使用方法。
一、switch-case语句基本用法
switch语句的语法结构如下:
switch(expression){
case value1 :
//当表达式的值等于value1时,执行这里的代码
break;
case value2 :
//当表达式的值等于value2时,执行这里的代码
break;
case value3 :
//当表达式的值等于value3时,执行这里的代码
break;
//你可以有任意数量的case语句
default :
//当所有case都不匹配时,执行这里的代码
}
在这个语法结构中,expression是要被测试的值,case是要比较的值,value1、value2和value3是case的值。default关键字是一个可选的关键字,用于当所有的case都不匹配时执行的代码块。
下面是一个简单的Java switch-case语句的示例:
public class Test {
public static void main(String[] args) {
int num = 2;
switch(num+1) {
case 1:
System.out.println("Case1: Value is: "+num);
break;
case 2:
System.out.println("Case2: Value is: "+num);
break;
case 3:
System.out.println("Case3: Value is: "+num);
break;
case 4:
System.out.println("Case4: Value is: "+num);
break;
default:
System.out.println("Default: Value is: "+num);
}
}
}
在这个示例中,我们声明了一个整型变量num,并将它的值设为2。然后我们使用switch语句测试num+1的值,并根据值的匹配情况执行不同的代码块。
二、switch-case语句展开用法
Java中的switch语句还可以采用展开的方式来写,以减少代码的量。如下:
public class Test {
public static void main(String[] args) {
int num = 2;
switch(num) {
case 0: case 1: case 2: case 3:
System.out.println("Value is less than 4");
break;
case 4: case 5: case 6: case 7: case 8:
System.out.println("Value is between 4 and 8");
break;
case 9:
System.out.println("Value is 9");
break;
default:
System.out.println("Value is greater than 9");
}
}
}
在这个示例中,我们可以看到,使用switch-case语句展开的方式,可以同时测试多个case的值,并且执行同一个代码块。这样可以让代码变得更加简洁易懂。
三、switch-case语句加上break语句
在Java中,switch-case和for、while、do-while、if-else语句一样,也可以使用break、continue和return语句来控制程序的流程。
比如在一个循环中使用switch语句,我们可以使用break语句来跳出switch语句的循环,继续循环执行其他的语句。如下:
public class Test {
public static void main(String[] args) {
int num = 2;
for(int i=0; i<10; i++){
switch(num+i) {
case 0: case 1: case 2: case 3:
System.out.println("Value is less than 4");
break;
case 4: case 5: case 6: case 7: case 8:
System.out.println("Value is between 4 and 8");
break;
case 9:
System.out.println("Value is 9");
break;
default:
System.out.println("Value is greater than 9");
break;
}
}
}
}
在这个示例中,我们在一个for循环中使用switch-case语句。同时,在每个case语句块的最后,我们加上了一个break语句,用来退出switch语句。如果忘记加上break语句,程序将会继续判断后续的case语句,并执行后续case语句的代码块。
四、switch-case语句的枚举用法
Java中的枚举是一种数据类型,可以让我们定义一些常量,而这些常量是不可变的。使用枚举和switch-case语句可以很好地处理很多问题。如下:
public enum Weekday {
MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class Test {
public static void main(String[] args) {
Weekday day = Weekday.MONDAY;
switch (day) {
case MONDAY:
System.out.println("Today is Monday");
break;
case TUESDAY:
System.out.println("Today is Tuesday");
break;
case WEDNESDAY:
System.out.println("Today is Wednesday");
break;
case THURSDAY:
System.out.println("Today is Thursday");
break;
case FRIDAY:
System.out.println("Today is Friday");
break;
case SATURDAY:
System.out.println("Today is Saturday");
break;
case SUNDAY:
System.out.println("Today is Sunday");
break;
}
}
}
在这个示例中,我们定义了一个名为Weekday的枚举类型,包含了一周的各个天。然后我们在switch-case语句中判断day变量的值,分别输出每一天的信息。
五、switch-case语句的使用限制
虽然Java的switch-case语句很方便,但是它的使用有一些限制:
- switch语句只能测试int、short、byte、char和枚举类型的值。不能测试boolean、long、float或double类型的值。
- case语句中的值必须是常量,不能是变量或表达式。
- 在同一个switch语句中,case值不能重复。重复的值会导致编译错误。
- switch语句必须包含一个default语句。如果没有,编译器会发出警告。
总之,Java的switch-case语句是一种很方便、实用的语句,可以用来控制程序的流程。在使用switch-case语句的过程中要注意使用限制,以免导致错误和bug的产生。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/228783.html
微信扫一扫
支付宝扫一扫