91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

理解Java中的switch分支語句

發布時間:2020-08-04 15:43:30 來源:ITPUB博客 閱讀:154 作者:安全劍客 欄目:編程語言
在程序中遇到多分支選擇的時候,想必大家都喜歡用if...else if...else...語句,尤其是初學者,因為在了解switch語句之前,我也是只會用if...else語句。那么現在看完這篇隨筆的介紹后,你們又有了另外一種選擇,使用switch語句可以增強代碼的可能性,當然switch也不是隨隨便便就能用的,它也有語法規則的約束。
前言:

在程序中遇到多分支選擇的時候,想必大家都喜歡用if...else if...else...語句,尤其是初學者,因為在了解switch語句之前,我也是只會用if...else語句。那么現在看完這篇隨筆的介紹后,你們又有了另外一種選擇,使用switch語句可以增強代碼的可能性,當然switch也不是隨隨便便就能用的,它也有語法規則的約束,請看下面的闡述。

一、switch簡介和語法

switch語句用于多分支選擇,由一個控制表達式和多個case標簽組成。switch語句后面的控制表達式的數據類型只能是byte、short、char、int、String和枚舉類型,不能是其它類型。

switch語句往往需要在case標簽后緊跟一個代碼塊,case標簽作為這個代碼塊的標識。

switch語句的語法如下:

 switch(expr){
 case condition1{
 //代碼塊...
 break;
 }
 case condition2{
 //代碼塊...
 break;
 }
 ...
 case conditionN{
 //代碼塊...
 break;
 }
 dafault:{
 //代碼塊...
 }
}

這種分支語句的執行是先對expr求值,然后依次匹配每個case標簽后的condition值,遇到匹配的值即執行對應的代碼塊,如果condition的值沒有與expr表達式的值相等,則執行default標簽后的代碼塊。

二、switch語句和if語句的區別

switch語句和if語句都可用于分支條件的選擇,但switch后面的控制表達式只能是byte、short、char、int、String和枚舉類型,不能是boolean類型,if后面的控制表達式是boolean類型;switch語句中各個case標簽后代碼塊的開始點和結束點非常清晰,因此完全可以省略case后代碼塊的花括號。

三、switch的使用及注意事項

為了更清晰的認識switch,下面通過一段程序來示范switch的用法:

 public class TestSwitch {
 public static void main(String[] args) {
 //聲明變量languageType
 String languageType = "Java";
 //執行switch語句
 switch (languageType) {
 case "C":
 System.out.println("C語言");
 break;
 case "Java":
 System.out.println("Java語言");
 break; 
 case "C++":
 System.out.println("C++語言");
 break;
 case "Python":
 System.out.println("Python語言");
 break;
 default:
 System.out.println("語言類型輸入錯誤");
 }
 }
}

運行上面的程序輸出:Java語言。

因為定義的變量(switch后面的控制表達式)"languageType" 與"Java"匹配。

如果把上面程序中的每個case標簽里的break語句去掉,將會發生什么樣的結果呢?那么我先把每個break語句注釋掉,運行結果如下:

Java語言 C++語言 Python語言 語言類型輸入錯誤

輸出結果是不是很奇怪!這正是switch語句的運行流程決定的,只要進入switch語句的入口,程序會一直運行下去,直到遇到break語句,如果省略了break語句,那么匹配case值后的所有情況(包括default)都會被執行。

所以,使用switch語句時,有兩個值得注意的地方:

1)switch后面的控制表達式只能是byte、short、char、int、String和枚舉類型;

2)如果省略了case后的代碼塊break,將會引入一個陷阱。

原文地址: https://www.linuxprobe.com/java-switch-if.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌恰县| 阿尔山市| 垫江县| 襄城县| 衡水市| 瑞丽市| 龙口市| 民勤县| 集安市| 巴塘县| 鲜城| 红安县| 云南省| 明水县| 祁东县| 荔波县| 恭城| 福建省| 德保县| 阳西县| 广汉市| 卢氏县| 通化市| 永年县| 陇川县| 淮阳县| 宣城市| 格尔木市| 全州县| 兰溪市| 墨脱县| 德兴市| 鄂温| 资溪县| 德令哈市| 沂源县| 阿拉尔市| 广丰县| 宜章县| 措勤县| 六枝特区|