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 : 。}。
JAVA中的switch語句是干什么用的啊?條件語句又是指什么? 問
Switch 語句用于將一個表達式的值同許多其他值比較,并按比較結果選擇下面執行哪些語句,Switch語句的使用格式如下:
switch(表達式)
{
case1:
語句塊1
Break;
casen:
語句塊n
Break;
default:
語句塊n+1
Break;
}
例如 我們要將1~3對應的星期幾的英文單詞打印出來,程序代碼如下:
int x=2;
switch(x)
{
case 1:
*n("Monday");
break;
case 2:
*n("Tuesday");
break;
case 3:
*n("Wedensday");
break;
default:
*n("sorry,i have no idea!");
}
因為x=2
所以結果就是
Tuesday
希望這些能幫助你理解!祝你JAVA越學越好
java中的switch語句的編寫
上面那個回答有少少問題,就是switch-case中的break用法。少了break的話,最終的str一定是“太熱了,開空調。”
int i = 0;
int tempriture= 0;
if(tempriture< 10){
i = 1;
}
else if(tempriture >=10 && tempriture<=24){
i = 2;
}
else if(tempriture>= 25 && tempriture<= 34){
i = 3;
}
else if{tempriture> 35){
i=4;
}
String str = "";
switch(i){
case 1: str = "有點冷。要多穿衣服"; break;
case 2: str = "正合適。出去玩吧。"; break;
case 3: str = "有點熱。 "; break;
case 4: str = " 太熱了!開空調."; break;
}
什么是Java編程switch語句
switch語句 switch關鍵字的中文意思是開關、轉換的意思,switch語句在條件語句中特別適合做一組變量相等的判斷,在結構上比if語句要清晰很多。
switch語句的語法格式為: switch(表達式){ case 值1: 功能代碼1; [break;] case 值2: 功能代碼2; [break;] …… default: 功能代碼1; [break;] } 語法說明: 1、 表達式的類型只能為byte、short、char和int這4種之一。 2、 值 1、值2…值n只能為常數或常量,不能為變量。
3、 功能代碼部分可以寫任意多句。 4、 break關鍵字的意思是中斷,指結束switch語句,break語句為可選。
5、 case語句可以有任意多句,是標號語句。 6、 default語句可以寫在switch語句中的任意位置,功能類似于if語句中的else。
執行流程:當表達式的值和對應case語句后的值相同時,既從該位置開始向下執行,一直執行到switch語句的結束,在執行中,如果遇到break語句,則結束switch語句的執行。 則在if-else if-else語句中,根據月份獲得每個月的天數,不考慮閏年。
用switch語句編寫JAVA程序,實現輸入年份,月份,顯示該月天數
我用Eclipse剛給你寫的程序,已經驗證合格,運行結果正確,樓主可以貼過去運行下,望采納。
import *.*;
public class Baidu001 {
public static void main(String[] args)
{
int year,month;
Scanner in = new Scanner(*);
*n("請輸入年份(四位數):");
year = *t();
*n("請輸入月份(1~12)");
month = *t();
//判斷是否為閏年也恰好查詢2月份天數
if(year%100 == 0 && year%400 == 0 && month == 2)
*n(29);
else{
switch (month)
{
case 2:*n(28);break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
*n(31);break;
case 4:
case 6:
case 9:
case 11:
*n(30);break;
}
}
}
}
for 循環 結合 switch語句的使用(java)
輸出結果沒有錯加了測試代碼和注釋,這樣思路就清晰多了package testcode;public class Switchtest { int i = 0, w = 0;//實例變量,作用于整個類 public Switchtest() {//這個為構造函數,創建對象時就自動執行里面的代碼 for (; i <= 5; i++) {//初始條件永遠為true switch (i)//把循環后的i作為switch參數,關鍵在與switch沒有break語句,用continue跳轉 { case 3://如果i為3 w 加1,如果匹配到一個以后由于沒有break下面的就不再匹配按順序執行了,以下同樣的說明省略 w += 1; *n("i = "+i+" case 3=" + w); case 0://如果i為0 w 加1 w += 1; *n("i = "+i+" case 0=" + w); case 1://如果i為1 w 加1,并跳出到上級循環,即跳到for外面: w += 1; *n("i = "+i+" case 1=" + w); continue; case 2://如果i為2 w 加1 w += 1; *n("i = "+i+" case 2=" + w); case 4://如果i為4 w 加1 w += 1; *n("i = "+i+" case 4=" + w); default://其他情況 w 加2 w += 2; *n("i = "+i+" case default=" + w); } *n("i = "+i+" " + w);//輸出w的值 } } public static void main(String[] args) { Switchtest stest = new Switchtest();//創建一個Switchtest對象 }}---------------------輸出結果為:i = 0 case 0=1i = 0 case 1=2i = 1 case 1=3i = 2 case 2=4i = 2 case 4=5i = 2 case default=7i = 2 7i = 3 case 3=8i = 3 case 0=9i = 3 case 1=10i = 4 case 4=11i = 4 case default=13i = 4 13i = 5 case default=15i = 5 15。
轉載請注明出處華閱文章網 » switch語句java