全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

switch语句的case和default有顺序吗?

发布时间:2023-03-21 17:16:00
发布人:qyf

  首先让我们先来了解下switch语句的执行逻辑吧!

  1.执行逻辑

  我们可以结合下图来理解switch语句的执行逻辑。switch的执行逻辑,其实就相当于是把多种情况分别列出,根据我们输入的值来判断符合哪种情况。符合哪个情况,就进入到对应的分支里面去执行,整体的执行逻辑就是这样的,如下图所示:

1

  2.基本语法

  在使用switch之前,首先我们得记住它的基本语法结构,其基本语法格式如下:

  switch(值){

  case 值1:

  //switch中的值与值1相等时执行的代码

  break; //可选

  case 值2:

  //switch中的值与值2相等时执行的代码

  break; //可选

  case 值3:

  //switch中的值与值3相等时执行的代码

  break; //可选

  case 值4:

  //switch中的值与值4相等时执行的代码

  break; //可选

  default:

  //switch中的值与以上所有值都不相等时执行的代码

  break; //可选

  }

  3.switch语句中的case和default

  经常碰到有朋友问这样的问题:switch语句的case和default有顺序吗?接下来就带大家解决下这个问题:

  在java中,switch语句中的case和default是由顺序的,但是这个顺序并不会影响程序执行。

  在switch语句中,当表达式的值和某个case的值相等的时候,该case语句及其后面的语句都会被执行,只到遇到break语句或者switch语句的末尾为止,如果所有的case语句都不匹配,那么就会执行default语句了。

  案例分析:

  int day = 4;

  switch (day) {

  case 1:

  System.out.println("Monday");

  break;

  case 2:

  System.out.println("Tuesday");

  break;

  case 3:

  System.out.println("Wednesday");

  break;

  case 4:

  System.out.println("Thursday");

  break;

  case 5:

  System.out.println("Friday");

  break;

  default:

  System.out.println("Weekend");

  break;

  }

  在这个例子中,当变量 day 的值为 4 时,程序会输出 "Thursday",因为它匹配了第四个 case 语句。

  注意,如果没有 break 语句,程序会继续执行下一个 case 语句或者 default 语句,直到遇到 break 为止。这种情况下,多个 case 语句可以共享同一个代码块,如下面的例子所示:

  int day = 4;

  switch (day) {

  case 1:

  case 2:

  case 3:

  case 4:

  case 5:

  System.out.println("Weekday");

  break;

  default:

  System.out.println("Weekend");

  break;

  }

  在这个例子中,如果变量 day 的值为 1、2、3、4 或 5,程序都会输出 "Weekday"。

  4.switch分支语句的使用

  Switch分支语句是一种常见的控制语句,用于根据变量的值选择执行不同的代码块。下面是一个案例,我们来演示下如何使用Switch分支语句:

  public class SwitchExample {

  public static void main(String[] args) {

  int day = 4;

  String dayString;

  // 使用Switch语句判断星期几

  switch (day) {

  case 1:

  dayString = "星期一";

  break;

  case 2:

  dayString = "星期二";

  break;

  case 3:

  dayString = "星期三";

  break;

  case 4:

  dayString = "星期四";

  break;

  case 5:

  dayString = "星期五";

  break;

  case 6:

  dayString = "星期六";

  break;

  case 7:

  dayString = "星期日";

  break;

  default:

  dayString = "无效的天数";

  break;

  }

  System.out.println(dayString);

  }

  }

  ●在这个例子中,我们定义了一个整数变量 day,然后使用Switch语句根据该变量的值来选择执行不同的代码块。当day的值为1时,Switch语句执行第一个case分支;当day的值为2时,Switch语句执行第二个case分支,以此类推。如果day的值与任何一个case分支都不匹配,Switch语句将执行default分支。在这个例子中,如果day的值不是1-7之间的整数,Switch语句将执行default分支,并将 dayString 设置为 "无效的天数"。

  ●最后,我们通过 System.out.println() 方法打印出 dayString 的值,以便在控制台上显示星期几。

  5.Java中switch条件语句的用法

  在 switch 语句中,如果在一个 case 中缺少 break,则代码将会继续执行下一个 case 中的语句,直到遇到 break 语句或者 switch 语句结束为止。

  例如下面这种情况

  int day = 3;

  switch (day) {

  case 1:

  System.out.println("Monday");

  case 2:

  System.out.println("Tuesday");

  case 3:

  System.out.println("Wednesday");

  case 4:

  System.out.println("Thursday");

  case 5:

  System.out.println("Friday");

  case 6:

  System.out.println("Saturday");

  case 7:

  System.out.println("Sunday");

  }

  在这个例子中,day的值为3,因此switch语句会执行case 3语句块中的代码,即打印出"Wednesday"。然而,由于case 3语句块没有包含break语句,控制流程将继续执行下一个case语句块,即case 4语句块,打印出"Thursday"。随后,控制流程将继续执行下一个case语句块,直到遇到break语句或者switch语句结束。

  因此,如果在switch语句中的case语句块中忘记添加break语句,会导致意想不到的结果。这种错误称为“落入”错误(fall-through error)。为了避免这种错误,建议在每个case语句块的末尾添加break语句。

  以上几点都是switch语句中的重点哦,大家一定要多多练习,多多总结!

相关文章

python写入json文件?

python写入json文件?

2023-11-02
vscode设置tab为4个空格?

vscode设置tab为4个空格?

2023-11-02
更新pycharm?

更新pycharm?

2023-11-02
anaconda每次打开都要安装?

anaconda每次打开都要安装?

2023-11-02

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取