最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第 5 講:switch 語(yǔ)句

2021-08-23 07:54 作者:SunnieShine  | 我要投稿

if 的弊端

很多時(shí)候,if 給我們的使用帶來(lái)了方便的地方,但是依舊有點(diǎn)丑的是,我們經(jīng)常會(huì)用到同一個(gè)變量分情況討論的時(shí)候,但 if 非要寫成 if 串聯(lián)的模式,這樣就很丑。于是,我們引入了新的語(yǔ)法格式:switch 語(yǔ)句。

switch 語(yǔ)句的寫法

考慮如下 if 串聯(lián)寫法。

當(dāng)我們需要判斷相同的一個(gè)變量的不同數(shù)值時(shí),我們可以考慮使用 switch 語(yǔ)句來(lái)書寫,它在轉(zhuǎn)換后是這樣的:

從代碼里看到,它可能比原本的寫法更臃腫了,但代碼更清晰了。按照 a 分情況討論。當(dāng) a 值為 2 的時(shí)候,執(zhí)行 c = 1 的賦值操作;其它的同理。default 用來(lái)控制其它所有情況,類似于 if 里的 else 條件后沒有其它判別情況時(shí)的執(zhí)行操作。

還需要注意的是,每一個(gè) case 語(yǔ)句的最后都有一個(gè)冒號(hào),而且在每一個(gè)部分結(jié)束的時(shí)候,都有一個(gè) break 語(yǔ)句作為結(jié)束(寫法必須是 break;,即末尾帶分號(hào))。這是兩個(gè)需要注意的地方。

另外,標(biāo)簽之間必須書寫 break 是有道理的。如果不寫它的話,語(yǔ)句就會(huì)貫穿到下一個(gè)部分去執(zhí)行,所以不是非常好。但有些時(shí)候,我們也可以考慮使用這種特性來(lái)做事情。比如,我們獲取 12 個(gè)月每一個(gè)月多少天的時(shí)候,可以這么寫:

我們暫且不考慮閏年還是平年,2 月分情況討論的結(jié)果。這樣的寫法可以看到,像是 1、3、5、7、8、10、12 月,結(jié)果都是一樣的,所以我們完全不必在中間給它加上 break。

當(dāng)然,default 不一定要放在最后面。有些時(shí)候我們可能期望默認(rèn)執(zhí)行的情況和其中某個(gè)數(shù)值的執(zhí)行情況是一樣的,這個(gè)時(shí)候我們可以把 default 調(diào)整到前面去。

比如,我們需要在記錄成績(jī)等級(jí)(A 到 F)的時(shí)候,默認(rèn)把其它情況和不及格顯示成一樣的結(jié)果(F),我們就可以這么做:

注意,switch 的小括號(hào)里的東西可以是任意一個(gè)整數(shù)數(shù)值的表達(dá)式,比如這個(gè)例子里的值就是 score / 10,算出來(lái)等于 6。

注意,之前說過,67 和 10 都是整數(shù),所以計(jì)算的除法一定得到的結(jié)果是整數(shù),故得到的 6.7 會(huì)被截?cái)酁?6,而且截?cái)嗖皇撬纳嵛迦搿?/span>

貫穿標(biāo)簽的用法

在前文里,所有 case 語(yǔ)句 default 都被稱為標(biāo)簽。當(dāng)有些時(shí)候,我們迫不得已需要貫穿標(biāo)簽,所以出現(xiàn)了前文的合并同類項(xiàng)的類似格式。但有些時(shí)候,我們除了這種貫穿模式之外,還有一種情況可以這么用,即不寫 break 語(yǔ)句。

給定 month 數(shù)值表示當(dāng)前月份,求從 1 月份到這個(gè)月一共多少天(暫不考慮日期是多少)。那么代碼可以這么寫:

你可以思考一下,為什么這種模式可以不寫 break 語(yǔ)句。

缺乏不等模式判斷

switch 有一個(gè)缺點(diǎn)在于,它沒有不等模式的判別,比如我們希望某個(gè)數(shù)字在 0 到 60 的時(shí)候是差, 61 到 80 的時(shí)候是中等,81 到 90 的時(shí)候是良好,91 到 100 是優(yōu)秀。這個(gè)時(shí)候,我們只能使用 if 語(yǔ)句的串聯(lián),switch 很抱歉的是,在這一點(diǎn)并沒有提供對(duì)應(yīng)的語(yǔ)法判別。

上述即可判斷。你需要思考一點(diǎn),為什么 if 判別里寫的是 score <= 某數(shù)值 呢?比如 61 到 80,不應(yīng)該寫成 score >= 61 && score <= 80 才對(duì)嗎?

第 5 講:switch 語(yǔ)句的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
齐齐哈尔市| 乃东县| 内江市| 耒阳市| 龙江县| 银川市| 兰考县| 昂仁县| 海伦市| 庆元县| 丰镇市| 日照市| 新沂市| 寿宁县| 乌拉特中旗| 康平县| 军事| 吉隆县| 兴城市| 屏东市| 当雄县| 团风县| 汾阳市| 正蓝旗| 易门县| 绍兴县| 莎车县| 洛阳市| 广州市| 巴林右旗| 巴青县| 呼图壁县| 赫章县| 常山县| 曲阳县| 独山县| 宣化县| 温宿县| 常熟市| 宁乡县| 涪陵区|