點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第三章匯總
3.4 switch語句
switch〔開關(guān))語句使你能夠從多個選項中進行選擇,這些選項是根據(jù)給定表達式的一系列固定值來設(shè)置的。這個表達式必須產(chǎn)生一個類型為char,byte, short或者int的結(jié)果,而不能是long類型,否則該語句就不會通過編譯。通常情況下,它與旋轉(zhuǎn)開關(guān)的操作方式非常類似,即都是從一系列固定值的選項中選擇一個。例如,在對洗衣機操作時,你可以應(yīng)用這種方法從機器的不同設(shè)置中選取一項。你將轉(zhuǎn)動旋鈕來選擇你所要的選項,旋鈕可對應(yīng)于棉花、羊毛、人造紡織品等等服裝材質(zhì)的不同位置。
對應(yīng)這個邏輯的,switch語句為:
switch(wash)
{
case 1 //wash is 1 for cotton
system.out.println(cotton selected);
break;
case 2 //wash is 2 for cotton
system.out.println(Linen selected);
break;
case 3 //wash is 3 for cotton
system.out.println(wool selected);
break;
default: //Not a valid value for wash
system.out.println(Selection error)
break;
在這條switch語句中,在關(guān)鍵字switch后的括號中指定的表達式將決定選擇哪一項。
在本例中是變量wash,該變量應(yīng)該在前面被聲明為chax, byte, short或者int類型。你用一個或者多個分情況數(shù)值(case values )定義叮能的選擇分支,它又被稱作分情況標號(caselabels,用關(guān)鍵字case定義。一條switch語句的所有分情況標號都將包含在,witch語句的大括號中,并且可以被任意排列。在上面的例子中,我們使用了三個分情況數(shù)值。當switch的表達式結(jié)果等于一個給定的分情況數(shù)值時,這個分情況數(shù)值所對應(yīng)的分支就被選定。
當選定一個給定的分情況數(shù)值時,跟在分情況標號后面的語句將執(zhí)行。所以,如果wash的結(jié)果為2,跟在語句:
case 2: //wash is 2 for Linen
后面的語句將被執(zhí)行。在本例中是:
System.out.println("Linen selected");
break;
在執(zhí)行break語句后,緊接著就執(zhí)行最靠近多分支Sw1tCh開關(guān)語句后面的語句。break并不是必需的,但如果在一個分支的尾部沒有break語句,就會按順序執(zhí)行下一個分支,直到遇到break語句或者到switch語句塊結(jié)束處。通常很少這樣使用。在我們的例子中,default語句后面的break從嚴格意義上講是不必要的,但是,當你在switch語句塊結(jié)束處增加另一個分情況標號時,它會對程序起到保護作用。最后一個分情況語句的break可以被忽略。
在switch語句中,每個需要處理的選項都對應(yīng)于一個分情況標號,并且必須是惟一的。在上面的例子中使用default語句是可選的。當switch表達式的結(jié)果與定義的所有分情況數(shù)值都不相等時,default分情況分支就被選擇。如果沒有default,在switch表達式的結(jié)果與所有分情況標號都不匹配時,就會執(zhí)行位于switch語句大括號之后的語句。
用一個流程圖,我們可以說明一般的switch語句的邏輯結(jié)構(gòu)。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |