生活随笔
收集整理的這篇文章主要介紹了
JAVA入门级教学之(switch语句)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
?? ? 關于switch語句(我稱為匹配語句):
?? ??? ?1.switch語句也屬于選擇結構,也是分支語句
?? ??? ?2.switch語句的語法結構:
?? ??? ??? ?一個比較完整的switch語句應該這樣編寫:
//case有匹配的意思,相當于拿數據匹配,拿數據匹配
//case穿透現象,意思是當break不存在的時候,即使第一個不匹配,也會一直按順序往下面匹配,直到遇見break;跳出結構體
?? ??? ?switch(int和String類型的字面值或變量){
?? ??? ??? ?case int和String類型的字面值或變量:
?? ??? ??? ??? ??? ??? ??? ?Java語句;
?? ??? ??? ??? ??? ??? ??? ?Java語句;
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ?case int和String類型的字面值或變量:
?? ??? ??? ??? ??? ??? ??? ?Java語句;
?? ??? ??? ??? ??? ??? ??? ?Java語句;
?? ??? ??? ??? ??? ??? ??? ?break;?? ?
?? ??? ??? ?default:
?? ??? ??? ??? ??? ??? ??? ?java語句;
?? ??? ?}
3.switch語句的執行原理:
?? ?switch后面小括號中的"數據"和case后面的"數據"進行一一匹配,匹配成功的分支執行。
4.匹配成功的分支執行,分支中最后面有"break;"語句的話,整個switch語句都會終止。
5.匹配成功的分支執行,分支當中沒有"break;"語句的話,直接進入下一個分支執行(不進行匹配的時候),
? 這種現象被稱為case穿透現象【意思是提供break;語句可以避免穿透】
6.所有分支都沒有匹配成功,當有default的語句,會執行default分支當中的程序。
7.switch后面括號內和case后面只能是int或者是String類型的數據,不能是探測其它類型的數據。
?? ?
?? ?*當然byte,short,char也可以直接寫在switch和case后面,因它們可以進行自動類型轉換。
?? ??? ?
?? ?*JDK6低版本的,switch和case后面只能探測int類型。
8.case可以合并
?? ?
?? ?int i=10;
? ? switch(i){
?? ??? ?case 1:case2:case3:case10:
?? ?}
*/
public class switch01
{public static void main(String[] args){
/*數值類型錯誤,大容量向小容量轉換需要強制轉換
//編譯報錯long a=10L;int b=a;long x=10L;switch(x){}?? ??? ?
*///解決編譯報錯
//實際上是進行一次強制轉換
long x=100L;
switch((int) x){}//同樣
byte b=10;
switch(b){}short s=10;
switch(s){}//string類型
String uesrname="zansan";
swtich(username){}//關于case穿透
/*
需求:接受用戶的輸入
1表示星期一,以此類推
*/java.util.Scanner s=new java.util.Scanner(System.in);
System.out.print("請輸入數字");
int num=s.nextInt();
switch(num){
case 1:System.out.println("星期一");break;//當break;不存在的時候,輸入1,會顯示星期一和星期二//雖然輸入1沒有匹配下面的2,但是會執行2
case 2:System.out.println("星期二");break;?? ?
case 3:System.out.println("星期三");break;
case 4:System.out.println("星期四");break;?? ?
case 5:System.out.println("星期五");break;
case 6:System.out.println("星期六");break;?? ?
case 7:System.out.println("星期日");break;
default;System.out.println("對不起,您輸入的數字錯誤");
}//switch確實可以探測String類型,這是java7的新特性//例如:
java.util.Scanner s=new java.util.Scanner(System.in);System.out.println("請輸入今天星期幾");String dayWeek=s.next();//從此處檢測switch(dayWeek){case"星期一":System.out.println(1);
case"星期二":System.out.println(2);
case"星期三":System.out.println(3);
default:System.out.println("不合法");}//用switch實現計算機中的+-* /%
/*實現思路:1.選擇所有數據從鍵盤輸入2.使用switch語句進行判斷3.需要從控制臺輸入三次:*第一個數字*運算符*第二個數字最終在控制臺上是這樣的一個場景:歡迎使用計算機請輸入第一個數字:10請輸入運算符:+-* / %請輸入第二個數字:20運算結果:10+20=30*/
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.println("請輸入第一個數字");
int a=s.nextInt();
System.out.println("請輸入一個運算符");
String b=s.next();
System.out.println("請輸入第二個數字");
int c=s.nextInt();int result=0;switch(b){case "+":result=a+c;break;case "-":result=a-c;break;case "*":rusult=a*c;break;case "/":result=a/c;break;case "%":result=a%c;break;default:System.out.println("輸入非法");System.out.println("運算結果:"+a+b+c+"="+result);}}
}
?
總結
以上是生活随笔為你收集整理的JAVA入门级教学之(switch语句)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。