当前位置: 首页> 健康> 科研 > 建博会广州网站_哪里有国内网站建设公司_海南seo顾问服务_网店产品seo如何优化

建博会广州网站_哪里有国内网站建设公司_海南seo顾问服务_网店产品seo如何优化

时间:2025/7/8 23:29:54来源:https://blog.csdn.net/WwLK123/article/details/143783118 浏览次数:0次
建博会广州网站_哪里有国内网站建设公司_海南seo顾问服务_网店产品seo如何优化

文章目录

    • 3.3 switch语句
      • 3.3.1 switch基本格式
      • 3.3.2 switch扩展
      • 3.3.3 练习

3.3 switch语句

3.3.1 switch基本格式

switch语句格式:

switch(表达式){case1:语句体1;break;case2:语句体2;break;...default:语句体n+1;break;
}

执行流程:

  1. 首先计算表达式的值
  2. 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  3. 如果所有的case后面的值和表达式的值都不匹配,就会执行defalut里面的语句体,然后结束整个switch语句。

格式说明:

  1. 表达式:(将要匹配的值)取值为byte、short、int、char。JDK5之后可以是枚举,JDK7之后可以是String
  2. case:后面跟的值要和表达式进行比较的值(被匹配的值)
  3. break:表示中断,结束的意思,用来结束switch语句
  4. default:表示所有的情况都不匹配的时候,就执行该处的内容,和if语句的else相似
  5. case后面的值只能是字面量,不能是变量
  6. case给出的值不允许重复

代码示例:

public class SwitchDemo1 {public static void main(String[] args) {// 1、定义变量记录我心里想吃的面String noodles = "火鸡面";// 2、拿着这个面利switch跟四种面条匹配switch (noodles) {case "兰州拉面":System.out.println("给你一碗兰州拉面。");break;case "火鸡面":System.out.println("给你一碗火鸡面。");break;case "热干面":System.out.println("给你一碗热干面。");break;case "炸酱面":System.out.println("给你一碗炸酱面。");break;case "油泼面":System.out.println("给你一碗油泼面。");break;default:System.out.println("吃泡面去吧你");break;}}
}

3.3.2 switch扩展

【1】default的位置和省略

public class SwitchDemo2 {public static void main(String[] args) {/*default的位置和省略1、位置:default不一定是写在最下面的,我们可以写在任意位置,只不过习惯会写在最下面2、省略:default可以省略,语法不会有问题,但是不建议省略*/int number = 1;switch (number){case 5:System.out.println("number的值为1");break;case 10:System.out.println("number的值为10");break;case 1:System.out.println("number的值为20");}}
}

注意:

default的位置和省略
1、位置:default不一定是写在最下面的,我们可以写在任意位置,只不过习惯会写在最下面
2、省略:default可以省略,语法不会有问题,但是不建议省略

【2】case穿透

public class SwitchDemo2 {public static void main(String[] args) {/*default的位置和省略1、位置:default不一定是写在最下面的,我们可以写在任意位置,只不过习惯会写在最下面2、省略:default可以省略,语法不会有问题,但是不建议省略*/int number = 1;switch (number){case 1:System.out.println("number的值为1");
//                break;case 10:System.out.println("number的值为10");
//                break;case 20:System.out.println("number的值为20");
//                break;}}
}

输出结果

D:\Environment\JDK1.8\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 
number的值为1
number的值为10
number的值为20

case穿透:

​ 就是语句体中没有写break导致的。

执行流程:

​ 首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。

​ 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。

​ 如果没有发现break,那么程序就会继续执行下一个case语句体,直到遇到break或者大括号结束。

使用场景:

​ 如果有多个case语句体重复了,那么我们考虑使用case穿透去简化代码。

【3】switch新特性(大于JDK12版本)

switch(number){case 1 -> {System.out.println("1");}case 2 -> {System.out.println("2");}case 3 -> {System.out.println("3");}default -> {System.out.println("没有这个选项");}
}

注意:

如果大括号中只有一行代码,大括号也可以省略。

【4】switch和if第三种格式各自的使用场景

if的第三种格式一般用于对范围的判断。

switch一般用于把有限个数据一一列举出来,让我们任选其一。

3.3.3 练习

需求:

键盘录入星期数,输出工作日,休息日

(1-5)工作日。(6-7)休息日

代码实现:

public class SwitchDemoTest {public static void main(String[] args) {// 1、键盘录入星期数Scanner sc = new Scanner(System.in);System.out.println("请输入星期数:");int week = sc.nextInt();// 2、利用switch语句来进行选择switch (week) {case 1:case 2:case 3:case 4:case 5:System.out.println("工作日");break;case 6:case 7:System.out.println("休息日");break;default:System.out.println("没有这个星期。");break;}}
}
关键字:建博会广州网站_哪里有国内网站建设公司_海南seo顾问服务_网店产品seo如何优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: