久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > switch語句的case和default有順序嗎?

switch語句的case和default有順序嗎?

來源:千鋒教育
發(fā)布人:qyf
時間: 2023-03-21 17:16:00 1679390160

  首先讓我們先來了解下switch語句的執(zhí)行邏輯吧!

  1.執(zhí)行邏輯

  我們可以結(jié)合下圖來理解switch語句的執(zhí)行邏輯。switch的執(zhí)行邏輯,其實就相當(dāng)于是把多種情況分別列出,根據(jù)我們輸入的值來判斷符合哪種情況。符合哪個情況,就進(jìn)入到對應(yīng)的分支里面去執(zhí)行,整體的執(zhí)行邏輯就是這樣的,如下圖所示:

1

  2.基本語法

  在使用switch之前,首先我們得記住它的基本語法結(jié)構(gòu),其基本語法格式如下:

  switch(值){

  case 值1:

  //switch中的值與值1相等時執(zhí)行的代碼

  break; //可選

  case 值2:

  //switch中的值與值2相等時執(zhí)行的代碼

  break; //可選

  case 值3:

  //switch中的值與值3相等時執(zhí)行的代碼

  break; //可選

  case 值4:

  //switch中的值與值4相等時執(zhí)行的代碼

  break; //可選

  default:

  //switch中的值與以上所有值都不相等時執(zhí)行的代碼

  break; //可選

  }

  3.switch語句中的case和default

  經(jīng)常碰到有朋友問這樣的問題:switch語句的case和default有順序嗎?接下來就帶大家解決下這個問題:

  在java中,switch語句中的case和default是由順序的,但是這個順序并不會影響程序執(zhí)行。

  在switch語句中,當(dāng)表達(dá)式的值和某個case的值相等的時候,該case語句及其后面的語句都會被執(zhí)行,只到遇到break語句或者switch語句的末尾為止,如果所有的case語句都不匹配,那么就會執(zhí)行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;

  }

  在這個例子中,當(dāng)變量 day 的值為 4 時,程序會輸出 "Thursday",因為它匹配了第四個 case 語句。

  注意,如果沒有 break 語句,程序會繼續(xù)執(zhí)行下一個 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分支語句是一種常見的控制語句,用于根據(jù)變量的值選擇執(zhí)行不同的代碼塊。下面是一個案例,我們來演示下如何使用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 = "無效的天數(shù)";

  break;

  }

  System.out.println(dayString);

  }

  }

  ●在這個例子中,我們定義了一個整數(shù)變量 day,然后使用Switch語句根據(jù)該變量的值來選擇執(zhí)行不同的代碼塊。當(dāng)day的值為1時,Switch語句執(zhí)行第一個case分支;當(dāng)day的值為2時,Switch語句執(zhí)行第二個case分支,以此類推。如果day的值與任何一個case分支都不匹配,Switch語句將執(zhí)行default分支。在這個例子中,如果day的值不是1-7之間的整數(shù),Switch語句將執(zhí)行default分支,并將 dayString 設(shè)置為 "無效的天數(shù)"。

  ●最后,我們通過 System.out.println() 方法打印出 dayString 的值,以便在控制臺上顯示星期幾。

  5.Java中switch條件語句的用法

  在 switch 語句中,如果在一個 case 中缺少 break,則代碼將會繼續(xù)執(zhí)行下一個 case 中的語句,直到遇到 break 語句或者 switch 語句結(jié)束為止。

  例如下面這種情況

  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語句會執(zhí)行case 3語句塊中的代碼,即打印出"Wednesday"。然而,由于case 3語句塊沒有包含break語句,控制流程將繼續(xù)執(zhí)行下一個case語句塊,即case 4語句塊,打印出"Thursday"。隨后,控制流程將繼續(xù)執(zhí)行下一個case語句塊,直到遇到break語句或者switch語句結(jié)束。

  因此,如果在switch語句中的case語句塊中忘記添加break語句,會導(dǎo)致意想不到的結(jié)果。這種錯誤稱為“落入”錯誤(fall-through error)。為了避免這種錯誤,建議在每個case語句塊的末尾添加break語句。

  以上幾點(diǎn)都是switch語句中的重點(diǎn)哦,大家一定要多多練習(xí),多多總結(jié)!

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python字符串截?。?/div>

在Python中,字符串是一種非常常見的數(shù)據(jù)類型,它可以用來表示文本、數(shù)字、符號等內(nèi)容。在實際應(yīng)用中,我們經(jīng)常需要對字符串進(jìn)行截取,以便獲取...詳情>>

2023-11-02 17:56:27
Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實現(xiàn)?

隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R姷囊环N社交方式。Python語言的Socket模塊是實現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實現(xiàn)C/...詳情>>

2023-11-02 17:53:38
用while求1到100的奇數(shù)和?

在計算機(jī)編程中,循環(huán)語句是非常重要的一部分。而while語句是其中最基本也是最常用的一種。它的作用是在滿足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

2023-11-02 17:50:57
python創(chuàng)建一個集合?

在Python中,集合是一種無序且不重復(fù)的數(shù)據(jù)類型,可以用于存儲一組元素。創(chuàng)建一個集合非常簡單,只需要使用大括號{}或者set()函數(shù)即可。使用大...詳情>>

2023-11-02 17:34:02
linux改文件屬主命令?

Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見的命令了。使用cat命令會打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

2023-10-31 19:58:15