更新時間:2020-10-14 17:05:03 來源:動力節(jié)點 瀏覽2889次
在一段代碼編程中,肯定會用到不同的語法結(jié)構(gòu),java中的語法結(jié)構(gòu)在整個程序中是十分重要的,像是一座建筑物的主框架一樣。switch語句是選擇語句中的一種,這篇文章總結(jié)了switch語句語法及原理的知識,適合java零基礎的朋友們學習。
Switch語句和if語句一樣,都屬于選擇語句(分支語句)通過對給定的條件進行判斷,從而決定執(zhí)行兩個或多個分支中的哪一支。因此,在編寫選擇語句之前,應該首先明確判斷條件是什么,并確定當判斷結(jié)果為“真”或“假”時應分別執(zhí)行什么樣的操作/算法。
switch語句基本語法格式,具體如下:
switch (表達式){
????case 目標值1:
????????執(zhí)行語句1
????????break;
????case 目標值2:
????????執(zhí)行語句2
????????break;
????......
????case 目標值n:
????????執(zhí)行語句n
????????break;
????default:
????????執(zhí)行語句n+1
????????break;
}
在上面的格式中,switch語句將表達式的值與每個case中的目標值進行匹配,如果找到了匹配的值,會執(zhí)行對應case后的語句,如果沒找到任何匹配的值,就會執(zhí)行default后的語句。switch語句中的break關鍵字的作用是跳出switch語句。
需要注意的是,在switch語句中的表達式只能是byte、short、char、int類型的值,如果傳入其它類型的值,程序會報錯。但上述說法并不嚴謹,實際上在JDK5.0中引入的新特性enum枚舉也可以作為switch語句表達式的值,在JDK7.0中也引入了新特性,switch語句可以接收一個String類型的值。
switch語句原理是:
(1)拿switch語句中的值與第一個case中值比較的時候,如果相同,則執(zhí)行該分支中的java語句,然后遇到"break"語句,switch語句就結(jié)束了,如果第一個不相等,則繼續(xù)與后面的case值進行比較。
(2)如果分支執(zhí)行了,但是分支最后沒有"break",此時會發(fā)生case穿透現(xiàn)象,也就是說下一個分支也不再進行匹配,直接進入下一個分支執(zhí)行,直到遇到"break"為止。
(3)所有的case都沒有匹配成功,那么最后default分支會執(zhí)行。
最后來看一個使用了switch語句語法及原理的代碼案例:
public class SwitchTest02{
????public static void main(String[] args){
????????java.util.Scanner s=new java.util.Scanner(System.in);
????????System.out.print("請輸入考生成績:");
????????double score=s.nextDouble();
????????if(score<0 || score>100){
????????????System.out.println("您輸入的學生成績不合法");
????????????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("該學生成績等級為:"+str);
????}
}
Switch語句是常見也常用的一種選擇語句,所以這篇文章中對switch語句語法及原理的介紹,是java零基礎的朋友們必須要掌握的知識,對switch的原理和語法結(jié)構(gòu)理解有更深入的理解和掌握,才能在實戰(zhàn)過程中自如的應用switch語句。