大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 switch語句語法及原理

switch語句語法及原理

更新時(shí)間:2020-10-14 17:05:03 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2877次

在一段代碼編程中,肯定會(huì)用到不同的語法結(jié)構(gòu),java中的語法結(jié)構(gòu)在整個(gè)程序中是十分重要的,像是一座建筑物的主框架一樣。switch語句是選擇語句中的一種,這篇文章總結(jié)了switch語句語法及原理的知識(shí),適合java零基礎(chǔ)的朋友們學(xué)習(xí)。

image.png

Switch語句和if語句一樣,都屬于選擇語句(分支語句)通過對(duì)給定的條件進(jìn)行判斷,從而決定執(zhí)行兩個(gè)或多個(gè)分支中的哪一支。因此,在編寫選擇語句之前,應(yīng)該首先明確判斷條件是什么,并確定當(dāng)判斷結(jié)果為“真”或“假”時(shí)應(yīng)分別執(zhí)行什么樣的操作/算法。

switch語句基本語法格式,具體如下:

switch (表達(dá)式){
????case 目標(biāo)值1:
????????執(zhí)行語句1
????????break;
????case 目標(biāo)值2:
????????執(zhí)行語句2
????????break;
????......
????case 目標(biāo)值n:
????????執(zhí)行語句n
????????break;
????default:
????????執(zhí)行語句n+1
????????break;
}

在上面的格式中,switch語句將表達(dá)式的值與每個(gè)case中的目標(biāo)值進(jìn)行匹配,如果找到了匹配的值,會(huì)執(zhí)行對(duì)應(yīng)case后的語句,如果沒找到任何匹配的值,就會(huì)執(zhí)行default后的語句。switch語句中的break關(guān)鍵字的作用是跳出switch語句。

需要注意的是,在switch語句中的表達(dá)式只能是byte、short、char、int類型的值,如果傳入其它類型的值,程序會(huì)報(bào)錯(cuò)。但上述說法并不嚴(yán)謹(jǐn),實(shí)際上在JDK5.0中引入的新特性enum枚舉也可以作為switch語句表達(dá)式的值,在JDK7.0中也引入了新特性,switch語句可以接收一個(gè)String類型的值。

switch語句原理是:

(1)拿switch語句中的值與第一個(gè)case中值比較的時(shí)候,如果相同,則執(zhí)行該分支中的java語句,然后遇到"break"語句,switch語句就結(jié)束了,如果第一個(gè)不相等,則繼續(xù)與后面的case值進(jìn)行比較。

(2)如果分支執(zhí)行了,但是分支最后沒有"break",此時(shí)會(huì)發(fā)生case穿透現(xiàn)象,也就是說下一個(gè)分支也不再進(jìn)行匹配,直接進(jìn)入下一個(gè)分支執(zhí)行,直到遇到"break"為止。

(3)所有的case都沒有匹配成功,那么最后default分支會(huì)執(zhí)行。

最后來看一個(gè)使用了switch語句語法及原理的代碼案例:

public class SwitchTest02{
????public static void main(String[] args){
????????java.util.Scanner s=new java.util.Scanner(System.in);
????????System.out.print("請(qǐng)輸入考生成績:");
????????double score=s.nextDouble();
????????if(score<0 || score>100){
????????????System.out.println("您輸入的學(xué)生成績不合法");
????????????return;
????????}
????????//grade的值可能是:0 1 2 3 4 5 6 7 8 9 10
????????//0-5不及格
????????//6 及格
????????//7 中
????????//8 良
????????//9 10 優(yōu)
????????int grade=(int)(score/10);
????????String str="不及格";
????????switch(grade){
????????case 10:case 9://case可以合并
????????????str="優(yōu)";
????????????break;
????????case 8:
????????????str="良";
????????????break;
????????case 7:
????????????str="中";
????????????break;
????????case 6:
????????????str="及格";
????????????break;
????????}
????????System.out.println("該學(xué)生成績等級(jí)為:"+str);
????}
}

Switch語句是常見也常用的一種選擇語句,所以這篇文章中對(duì)switch語句語法及原理的介紹,是java零基礎(chǔ)的朋友們必須要掌握的知識(shí),對(duì)switch的原理和語法結(jié)構(gòu)理解有更深入的理解和掌握,才能在實(shí)戰(zhàn)過程中自如的應(yīng)用switch語句。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 中文字幕久精品免费视频 | 午夜影院一级片 | 成人一级黄色片 | 国产免费一区二区三区在线观看 | 日本aaaa | 日本久色 | 久久久这里只有免费精品2018 | 狠狠操狠狠 | 99久久影院 | 日韩欧美中文字幕一区 | 99在线视频精品 | 国产精品久久久久久免费播放 | 欧美人成人亚洲专区中文字幕 | 国产综合另类小说色区色噜噜 | 毛片大全免费 | 久久免费公开视频 | 亚洲二区视频 | 国产欧美精品一区二区三区-老狼 | 国产亚洲精品视频中文字幕 | 国产精品久久做爰 | 国产一区二区三区在线 | 成人国产在线不卡视频 | 久久日精品 | 性a爱片免费视频性 | 久青草国产在线视频_久青草免 | 五月天激情在线 | 色久综合大榴莲 | 国产亚洲日本人在线观看 | 久久免费精品视频在线观看 | 欧美大屁股精品毛片视频 | 国产在热线精品视频国产一二 | 亚洲一二区 | 久草综合视频 | 国产伦精品一区二区三区免费迷 | 精品亚洲一区二区在线播放 | 欧美成人性视频在线黑白配 | 又粗又大的机巴好爽7 | 伊在人香蕉99久久 | 久章草在线视频 | 97精品久久久久中文字幕 | 97视频在线观看视频在线精品 |