⑴ java switch語句
你的第一個問題:switch語句中的case必須是常量,也就是不能更改的值。在Java中常量需要用final修飾,而沒有final修飾的是變數。switch語句本身的選擇原理就是當某個變數為某個值時執行某段代碼,所以case後面肯定是常量,而不能是變數。
第二個問題:每一段case執行的代碼最後必須接一個break來結束選擇分支,否則,會自動執行下一個case代碼,你這里的代碼就必須是:
switch(k){
casex:
System.out.println("0");
break;
caseY:
System.out.println("1");
break;
caseY+1:
System.out.println("2");
break;
}
⑵ java中用switch劃分年齡段
switch和case辨別屬於兒童,青年,中年,老年人。
使用一個switch方法,四個case支方法判斷,如果年齡小於十輸出case1,為兒童,如果大於十小於30,輸出青年,如果大於30小於60,輸出中年,如果大於60小於150則輸出老年人。
switch 語句和 if 語句完全可以相互取代,但從編程的角度,它們又各有各的特點,所以至今為止也不能說誰可以完全取代誰,當嵌套的 if 比較少時三個以內,用 if 編寫程序會比較簡潔,但是當選擇的分支比較多時,嵌套的 if 語句層數就會很多,導致程序冗長,可讀性下降,因此提供 switch 語句來處理多分支選擇。
⑶ java switch 怎麼用 enum getid
Java語言中的枚舉類型的使用方法如下: 用法一:常量; public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch; enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change
⑷ java中switch語句的用法
如果a 是1 就運行 case1 2就case2
如果全部沒有就運行default
break 是說不在向下運行
如果沒有break 運行完case1後還會繼續向下運行case2等等
⑸ 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 :
System.out.println("您是通過搜索引擎來到本網站的。");
case 2 :
System.out.println("您是通過朋友介紹來到本網站的。");
那麼,程序在輸出"您是通過搜索引擎來到本網站的。" 之後,會繼續輸出case 2中的"您是通過朋友介紹來到本網站的。" 。
請大家將前面實例中的代碼片段改為如下(紅色部分,即將所有的break都通過加//使之無效。):
...
case 1 :
System.out.println("您是通過搜索引擎來到本網站的。" );
//break;
case 2 :
System.out.println("您是通過朋友介紹來到本網站的。");
//break;
case 3 :
System.out.println("您是通過報刊雜志來到本網站的。");
//break;
case 4 :
System.out.println("您是通過其它方法來到本網站的。");
//break;
default :
System.out.println("錯誤的選擇!請輸入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語句特點:
1、switch語句選擇的類型只有四種:byte,short,int,char。
2、case與default沒有順序。先執行第一個case,沒有匹配的case執行default。
3、結束switch語句的兩種情況:①遇到break,②執行到switch語句結束。
4、如果匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,運行可以執行的語句,直到遇
到break或者switch結尾結束。
5、進入switch語句後,執行順序是先執行case,然後從上到下,最後再執行default。即使default放在case
上面,執行順序也不變。
for語句特點
for(初始化表達式;循環條件表達式;循環後的操作表達式)
{
執行語句;(循環體)
}
for裡面的三個表達式運行的順序,初始化表達式只讀一次,判斷循環條件,為真就執行循環體,然後再執行
循環後的操作表達式,接著繼續判斷循環條件,重復找個過程,直到條件不滿足為止。
for循環的初始化表達式、循環後的操作表達式可以是多個表達式,通過逗號分隔。
例如:
for(inta=1,b=2;a<2&b<3;a++,b++){
}
⑺ JAVA 中 Switch 的使用方法.求大神拯救我於水火之中
在switch裡面的判斷語句後面加上
default: break; //這樣會讓判斷語句在輸入不是1,2或者3的時候退出;
或者加上
case 4: break; //這樣會在輸入為4的時候離開。
⑻ java switch語句有哪些
java switch語句有哪些如下:
Scanner input = new Scanner (System.in)。
int temp=0。
System.out.println("請輸入等級:")。
String a = input.next()。
if(a.equals("優秀")){。
temp=0。
}else if(a.equals("中等")){。
temp=1 }。
switch (temp) {。
case 0。
System.out.println("100")。
break。
case 1。
System.out.println("80")。
break。
default。
編程工具:
Eclipse:一個開放源代碼的、基於Java的可擴展開發平台。
NetBeans:開放源碼的Java集成開發環境,適用於各種客戶機和Web應用。
IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。
MyEclipse:由Genuitec公司開發的一款商業化軟體,是應用比較廣泛的Java應用程序集成開發環境。
EditPlus:如果正確配置Java的編譯器「Javac」以及解釋器「Java」後,可直接使用EditPlus編譯執行Java程序。