本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,点击查看活动详情
目录
今天阿文介绍的内容为:
- 多重选择语句
switch语句
Java多重选择语句
在Java中,提供了一个选择语句switch case,该语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 在多重条件选择的情况下,可以使用if-else结构来实现其功能,但是,使用多分支开关语句会使程序更为精练、清晰。
在switch语句中:
- case可以有多个
- default只能有一个,位置可以任意
语法格式:
swicth(表达式) {
case value1:
//语句
break;//可选择加或不加
case value2:
//语句
break;//可选择加或不加
//可以有n个case语句
default: //可选择加或不加,且唯一
//语句
}
在执行switch语句时先计算switch圆括号中的表达式的值,这个值必须为整型或字符类型或枚举类型,同时自上而下与各个case后面的值进行匹配,如果匹配成功则执行该case后面的语句,如果表达式的值与任何一个case后面的值都不匹配则执行default后面的语句,在default语句不存在时则跳出switch语句。
注意: 在每一个case语句后要使用break退出switch结构。否则执行了case1的语句后将继续执行case1以后的语句
例子(加上break):
public class Text1 {
public static void main(String[] args) {
switch(1) {
case 1 : {
System.out.println("这是case语句1...");
break;
}
case 2 : {
System.out.println("这是case语句2...");
break;
}
case 3 : {
System.out.println("这是case语句3...");
break;
}
case 4 : {
System.out.println("这是case语句4...");
break;
}
default: {
System.out.println("这是default语句...");
break;
}
}
}
}
执行结果:
例子(不加break)
public class Text1 {
public static void main(String[] args) {
switch(1) {
case 1 : {
System.out.println("这是case语句1...");
}
case 2 : {
System.out.println("这是case语句2...");
}
case 3 : {
System.out.println("这是case语句3...");
}
case 4 : {
System.out.println("这是case语句4...");
}
default: {
System.out.println("这是default语句...");
}
}
}
}
执行结果:
可以看到如果不加break,则在执行case 1语句后将继续向下执行后续的case语句。
说明:switch语句的每一个case判断,在一般情况下都有break语句,以指明这个分支执行完后,就跳出该switch语句。在某些特定的场合下可能不需要break语句,例如,要若干判断值共享一个分支时,就可以实现由不同的判断语句流入相同的分支。
例子:
public class Text1 {
public static void main(String[] args) {
int month = 4, day = 0;
switch(month) {
case 2 : {
day = 28;
break;
}
case 4 :
case 6 :
case 9 :
case 11 : {
day = 30;
break;
}
default: {
day = 31;
break;
}
}
System.out.println(month + "月" + "一共有" + day + "天");
}
}
执行结果:
4月、6月、9月的case判断,都只负责指明分支的入口点,而不指定分支的出口点,而不指定分支的出口点,分支的出口点需要用相应的跳转语句break来标明。在进入4月、6月或9月的case入口后,由于没有语句执行且没有break语句,则继续向下执行,直到运行11月的case语句,执行完day = 30后遇到break语句,则跳出switch语句。
总结
- switch语句在有多重选择时可以考虑使用,但必须明确逻辑,记得加上break语句跳出switch语句
好了,今天阿文就介绍到这里了... byebye