某些時(shí)候,在嵌套使用if語句時(shí),所有if語句看起來都非常相似,因?yàn)樗鼈兌荚趯σ粋€(gè)完全相同的表達(dá)式進(jìn)行求值,惟一的區(qū)別是每個(gè)if語句都將表達(dá)式的結(jié)果與一個(gè)不同的值進(jìn)行比較。例如:
if (day == 0)
dayName = "Sunday";
else if (day == 1)
dayName = "Monday";
else if (day == 2)
dayName = "Tuesday";
else if (day == 3)
...
else
dayName = "Unknown";
在這些情況下,通常需要將嵌套的if語句改寫為一個(gè)switch語句,使程序更有效、更容易懂。
理解switch語句的語法
switch語句的語法如下(switch,case和default是關(guān)鍵字):
switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}
controllingExpression(控制表達(dá)式)只求值一次。然后,從其constantExpression值等于controllingExpression值的case開始,它下方的所有語句都會(huì)一直運(yùn)行,直到遇到一個(gè)break為止。隨后,switch語句將結(jié)束,程序從switch結(jié)束大括號(hào)之后的第一個(gè)語句繼續(xù)執(zhí)行,并忽略其他case。
假如任何一個(gè)constantExpression值都不等于controllingExpression的值,就運(yùn)行可選標(biāo)簽default之下的語句。
注意 假如controllingExpression的值和任何一個(gè)case標(biāo)簽都不匹配,同時(shí)沒有發(fā)現(xiàn)一個(gè)default標(biāo)簽,程序會(huì)跳過整個(gè)switch語句,從它的結(jié)束大括號(hào)之后的第一個(gè)語句繼續(xù)執(zhí)行。
例如,前面的嵌套if語句可以改寫為以下switch語句:
switch (day)
{
case 0 :
dayName = "Sunday";
break;
case 1 :
dayName = "Monday";
break;
case 2 :
dayName = "Tuesday";
break;
...
default :
dayName = "Unknown";
break;
}
if (day == 0)
dayName = "Sunday";
else if (day == 1)
dayName = "Monday";
else if (day == 2)
dayName = "Tuesday";
else if (day == 3)
...
else
dayName = "Unknown";
在這些情況下,通常需要將嵌套的if語句改寫為一個(gè)switch語句,使程序更有效、更容易懂。
理解switch語句的語法
switch語句的語法如下(switch,case和default是關(guān)鍵字):
switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}
controllingExpression(控制表達(dá)式)只求值一次。然后,從其constantExpression值等于controllingExpression值的case開始,它下方的所有語句都會(huì)一直運(yùn)行,直到遇到一個(gè)break為止。隨后,switch語句將結(jié)束,程序從switch結(jié)束大括號(hào)之后的第一個(gè)語句繼續(xù)執(zhí)行,并忽略其他case。
假如任何一個(gè)constantExpression值都不等于controllingExpression的值,就運(yùn)行可選標(biāo)簽default之下的語句。
注意 假如controllingExpression的值和任何一個(gè)case標(biāo)簽都不匹配,同時(shí)沒有發(fā)現(xiàn)一個(gè)default標(biāo)簽,程序會(huì)跳過整個(gè)switch語句,從它的結(jié)束大括號(hào)之后的第一個(gè)語句繼續(xù)執(zhí)行。
例如,前面的嵌套if語句可以改寫為以下switch語句:
switch (day)
{
case 0 :
dayName = "Sunday";
break;
case 1 :
dayName = "Monday";
break;
case 2 :
dayName = "Tuesday";
break;
...
default :
dayName = "Unknown";
break;
}

