黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 switch語句和if else語句比較分析

switch語句和if else語句比較分析

更新時間:2020-11-17 17:53:19 來源:動力節點 瀏覽1303次

switch語句和if else語句算是Java控制語句里面比較經典的兩個,在Java代碼中常常會出現,但是我們有時候會對選擇switch語句還是if else語句產生爭議,本文我們就來對比一下switch語句和if else語句。


switch語句可以算是if else語句的一種特殊情況。當我們使用if else語句來做判斷時,如果我們只想對條件表達式的結果做一些特定值的判斷,那么就可以使用switch語句。例如:我們需要根據當前月份來判斷這個月份應該有多少天,我們可以使用if else語句來處理這個問題,但同樣也可以使用switch語句來處理。switch語句的使用方式如下: switch (變量或表達式)

{

case 值1:

{

//處理內容

break;

}

case 值2:

{

//處理內容

break;

}

default

{

//處理內容

break;

}

}


switch右側的小括號中的變量或表達的值的結果是一個確定的值。大括號中可以有多個case語句,case右側的值如果等于switch右側小括號中的值,那么程序將執行當前case大括號下的內容(case下的大括號可以省略,但建議保留),在大括號中的最后一行需要加入break語句,表示執行完當前條件分支的case之后程序跳出當前switch結構,如果沒有break則程序會順序執行下面的case語句代碼,即使case后的值不等于switch的條件值。如果switch中所有的case值都不等于switch的條件值,那么程序將執行default后的大括號中的內容,default分支即為默認條件分支,也就是說當所有的case分支都沒有起作用時程序將執行此默認分支,(default分支可以省略,但建議保留)。例如:int month = 11;

int day;

switch (month)

{

case 0: //一月

{

day = 31;

break;

}

case 1: //二月

{

day = 28;

break;

}

case 2: //三月

{

day = 31;

break;

}

case 3: //四月

{

day = 30;

break;

}

//5月到11月略

case 11: //十二月

{

day = 31;

break;

}

default: //其它情況

{

day = 0;

break;

}

}


上面程序執行的過程為:switch (month)中的條件表達式的值為11,也就是十二月(月分從0開始),程序會將這個值與所有的case條件值做比較。第一個case的條件值為0,11與0相比較的結果為假,則程序跳過此case分支;第二個case的條件值為1,11與0想比較結果為假,則程序跳過此case分支;依次比較,當case 11: { } 這個條件值為11,11與11相比較的結果為真,于是程序進入此case分支,執行day = 0;語句。注意,當執行完這個語句之后,程序需要通過break跳出當前switch結構,如果不使用break語句,程序在執行完day = 31之后,就會繼續向下執行下一個分支,即使其條件不符合。也就是說,如果不用break跳出,程序在執行完day = 31后,還會繼續向下執行day = 0;于是程序的運行結果就出現了錯誤。 通過上面例子我們可以看到swtich與if else語法的書寫方式不同,但功能很類似,只不過switch中的case值是固定的常量,而if 后的條件值可以是一個變量或條件表達式,所以說if else結構在使用范圍上比switch更廣,但switch結構的語法更清晰,它適用于一些特定的情況,在一些固定值的條件判斷中使用switch更加方便美觀一些。


通過以上對于switch語句和if else語句比較分析,在實際應用中如何判斷是使用if else語句 還是 switch語句 ,目前一般是從代碼可讀性的角度出發,基于判斷條件的數量來決定:數量越多就越傾向于 switch 而不是 if else。事實證明除了代碼可讀性,switch 的運行速度是比 if else 更快的。因此,一般情況下,我們在編程的過程中還是推薦使用switch語句的。想要了解更多的控制語句,可以觀看本站的Java SE教程,里面有著對Java控制語句的精彩講解,引人入勝,不容錯過哦。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一个人www免费观看视频 | 日韩不卡一二三区 | 国产精品久久久久久久午夜片 | 欧美成人a大片 | 夜夜性日日交xxx性视频 | 欧美又粗又硬又大久久久 | 99re视频在线 | 韩国伦理剧免费观看 | 欧美黄色一级大片 | 亚洲经典一区二区三区 | 被多人强伦的小柔小说片段 | 激情五月俺来也 | 婷婷久久综合九色综合绿巨人 | 免费国产成人高清在线观看视频 | 久久天天躁狠狠躁夜夜2020一 | 日本欧美一区二区三区高清 | 国产区一区二区三区 | 站长推荐国产精品视频 | 国产成a人片在线观看视频99 | 日韩精品第一页 | 国产伦码精品一区二区 | 最近的中文字幕免费视频1 最近的中文字幕大全免费版 | 激情综合色五月丁香六月亚洲 | 日韩字幕一中文在线综合 | 人人澡人人人人夜夜爽 | 555成人网免费观看视频 | 日本xxxxx黄区免费看动漫 | 国产香蕉一区二区在线观看 | 日韩黄色免费 | 曰鲁夜鲁鲁狠狠综合 | 中文精品久久久久国产网站 | 国产成人精品免费视 | 综合网女女网 | 瑟瑟网站免费网站入口 | 国产一区二区在线观看麻豆 | 欧美羞羞 | 国产精品2020观看久久 | 一级片在线免费播放 | 成人免费观看在线视频 | 一级在线免费视频 | 天天爽天天干天天操 |