java中switch語句的用法
switch 語句的格式:switch ( 整型或字符型變量 ) { case 變量可能值1 : 分支一; break; case 變量可能值2 : 分支二; break; case 變量可能值3 : 分支三; break; 。
default : 最后分支; } 在 switch 的語法里,我們要學到4個關鍵字:switch、case 、break、default。在 switch ( 變量 ) 這一行里,變量只能是整型或字符型。
程序先讀出這個變量的值,然后在各個"case"里查找哪個值和這個變量相等,如果相等,就算條件成立,程序執行相應的分支,直到碰上break或者switch語句結束。了解一下switch,case,break,default的意思,對理解前面的一切也會有幫助,它們分別是:開關,情況,中斷,默認(值)。
那么用一句話套起來的說法就是:根據開關值的不同,執行不同的情況,直到遇上中斷;如果所有的情況都不符合開關值,那么就執行默認的分支。最后說一下關于switch中非常重要的幾個注意點。
第一、switch ( 整型或字符型變量 ) 中,變量的類型如文中所標,只能是整型和字符類型。它們包含 int,char。
當然無符類型或不同的長度整型(unsigned int,short,unsigned char)等都可以。另外,枚舉類型(enum)內部也是由整型或字符類型實現。
所以也可以。實型(浮點型)數就不行,如:float a = 0.123; switch(a) //錯誤!a不是整型或字符類型變量。
{ 。.} 第二、case 之后可以是直接的常量數值,如例中的1、2、3、4,也可以是一個使用常量計算式,如2+2等,但不能是變量或帶有變量的表達式,如 a * 2等。
當然也不能是實型數,如4.1,或2.0 / 2 等。switch(formWay) { case 2-1 : //正確 。
case a-2 : //錯誤 。 case 2.0 : //錯誤 。
} 另外,在case 與常量值之后,需要一個冒號,請注意不要疏忽。第三、break 的作用。
break 使得程序在執行完選中的分支后,可以跳出整個switch語句(即跳到switch接的一對{}之后),完成switch。如果沒有這個break,程序將在繼續前進到下一分支,直到遇到后面的break或者switch完成。
比如,假設現在程序進入case 1: 中的分支,但case 1 的分支這回沒有加break:case 1 : *n("您是通過搜索引擎來到本網站的。"); case 2 : *n("您是通過朋友介紹來到本網站的。
"); 那么,程序在輸出 "您是通過搜索引擎來到本網站的。" 之后,會繼續輸出case 2中的 "您是通過朋友介紹來到本網站的。
" 。請大家將前面實例中的代碼片段改為如下(紅色部分,即將所有的break都通過加//使之無效。)
: 。 case 1 : *n("您是通過搜索引擎來到本網站的。
" ); //break; case 2 : *n("您是通過朋友介紹來到本網站的。"); //break; case 3 : *n("您是通過報刊雜志來到本網站的。
"); //break; case 4 : *n("您是通過其它方法來到本網站的。"); //break; default : *n("錯誤的選擇!請輸入1~4的數字做出選擇。
"); 。運行后,結果會是如何?請大家動手試試,然后在作業中回答我。
第四、default是可選中,前面我們已經說過它的用處,及如果沒有default,程序在找不到匹配的case分支后,將在switch語句范圍內不做什么事,直接完成switch。大家也可以在實例中將default的代碼注釋掉,然后試運行,并且在選擇時輸入5。
。//default : //cout << "錯誤的選擇!請輸入1~4的數字做出選擇。
" << endl;。第五、必要時,可在各個case中使用{}來明確產生獨立的復合語句。
前面我們在講if。語句和其它流程控制語句時,都使用{}來產生復合語句:if (條件) { 分支一; } 除非在分支中的語句正好只有一句,這里可以不需要花括號{}。
但在switch的各個case語句里,我們在語法格式上就沒有標出要使用{},請看:switch ( 整型或字符型變量 ) { case 變量可能值1 : 分支一; break; case 變量可能值2 : 。.} 一般教科書上只是說 case 分支可以不使用{},但這里我想提醒大家,并不是任何情況下case分支都可以不加{},比如你想在某個case里定義一個變量:switch (formWay) { case 1 : int a=2; //錯誤。
由于case不明確的范圍,編譯器無法在此處定義一個變量。 。
case 2 : 。} 在這種情況下,加上{}可以解決問題。
switch (formWay) { case 1 : { int a=2; //正確,變量a被明確限定在當前{}范圍內。 。
} case 2 : 。}。
c語言中“switch ”語句的用法有哪些
C語言程序語句switch: switch用在編程中,如C語言中它經常跟case一起使用,是一個判斷選擇代碼。
其功能就是控制業務流程流轉的。 switch語句的語法如下(switch,case和default是關鍵字): switch ( controllingExpression ) { case constantExpression1 : case constantExpression2 : case constantExpression3 : statements; //當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執行statements break; case constantExpression : statements ; break; 。
default : statements ; break; } 遵守switch語句規則 switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則: 只能針對基本數據類型使用switch,這些類型包括int、char等。
對于其他類型,則必須使用if語句。 case標簽必須是常量表達式(constantExpression),如42或者"42"。
如果需要在運行時計算case標簽的值,必須使用if語句。 case標簽必須是惟一性的表達式;也就是說,不允許兩個case具有相同的值。
C語言switch應用例子: 例一: #include int main() { double score; printf("請輸入分數:\n"); scanf("%lf",&score); switch((int)(score/10)) //如果寫成witch((int)score/10)會出現嚴重錯誤 { case 10: case 9:printf("A(最好)\n");break; case 8:printf("B(優秀)\n");break; case 7:printf("C(良好)\n");break; case 6:printf("D(及格)\n");break; case 5: case 4: case 3: case 2: case 1: case 0:printf("E(不及格)\n");break; default:printf("Error!\n"); } } 例二: #include int main() { char rank; printf("請輸入分數等級:(A、B、C、D、E)\n"); scanf("%c",&rank); switch(rank)//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤, { case 'A':printf("A(90~100)\n");break; case 'B':printf("B(80~89)\n");break; case 'C':printf("C(70~79)\n");break; case 'D':printf("D(60~69)\n");break; case 'E':printf("E(0~59)\n");break; default:printf("error!\n");break; } } 例三: 輸入年月日,判斷這一天是這一年的第幾天。 #include int main() { int year,month,date,leap,days=0; scanf("%4d%2d%2d",&year,&month,&date); leap=(year%4==0&&year%100!=0||year%400==0); switch(month) { case 12:days+=30; case 11:days+=31; case 10:days+=30; case 9:days+=31; case 8:days+=31; case 7:days+=30; case 6:days+=31; case 5:days+=30; case 4:days+=31; case 3:days+=28+leap; case 2:days+=31; case 1:days+=date;break; } printf("%4d年%2d月%2d日是這一年的第%d天。
\n",year,month,date,days); }。
C語言中的Switch-case語句
Switch語句可以理解為if-else語句的另一種表現形式 。 break的作用是跳出Switch,如果不跳出則繼續向下執行,直到遇到break或執行到結束為止。
Switch case 語句表達式為:
switch{case 常量1: 語句體1;case 常量2: 語句體2;case 常量3: 語句體3;case 常量4: 語句體4;。.default : 語句體;}
擴展資料:
Switch在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。以C語言來說,switch(開關語句)常和case break default一起使用。
C語言程序語句
Switch用在編程中,如C語言中它經常跟Case一起使用,是一個判斷選擇代碼。其功能就是控制流程流轉的。
直線翻譯:switch語句,即“切換”語句;case即“情況”。
switch語句的語法如下(switch,case,break和default是關鍵字):
switch ( 變量表達式 )
{
case 常量1 :語句;break;
case 常量2 :語句;break;
case 常量3 :語句;break;
case 常量n:語句;break;
default :語句;break;
}
參考資料:
搜狗百科-switch (計算機語言關鍵字)
請問c語言中switch語句究竟是怎么用啊
switch (表達式或屬性){
case 值1 : 語句1
break;
case 值2 : 語句2
break;
。
default : 值n
break;
}
從表達式或屬性值等于某個case語句后的值開始,它下方的所有語句都會一直運行,直到遇到一個break為止。隨后,switch語句將結束,程序從switch結束大括號之后的第一個語句繼續執行,并忽略其他case。
假如任何一個case語句的值都不等于表達式或屬性的值,就運行可選標簽default之下的語句。
假如表達式或屬性的值和任何一個case標簽都不匹配,同時沒有發現一個default標簽,程序會跳過整個switch語句,從它的結束大括號之后的第一個語句繼續執行。