溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Java中使用switch分支結(jié)構(gòu)

發(fā)布時間:2021-05-10 15:53:56 來源:億速云 閱讀:187 作者:Leah 欄目:開發(fā)技術

如何在Java中使用switch分支結(jié)構(gòu)?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Java的特點有哪些

Java的特點有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨立與可移植性、動態(tài)性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。

一、基本語法

如何在Java中使用switch分支結(jié)構(gòu)

二、流程圖

1.畫出 swtich 出流程

2.案例說明流程圖

如何在Java中使用switch分支結(jié)構(gòu) 

三、快速入門

  • 案例:Switch01.java

請編寫一個程序,該程序可以接收一個字符,比如:a,b,c,d,e,f,g

a 表示星期一,b 表示星期二 …
根據(jù)用戶的輸入顯示相應的信息.要求使用 switch 語句完成
代碼:

/*
	案例:Switch01.java
	請編寫一個程序,該程序可以接收一個字符,比如:a,b,c,d,e,f,g  
	a表示星期一,b表示星期二 …  
	根據(jù)用戶的輸入顯示相應的信息.要求使用 switch 語句完成
	
	思路分析
	1. 接收一個字符 , 創(chuàng)建Scanner對象
	2. 使用switch 來完成匹配,并輸出對應信息
	代碼
	
	 */
	Scanner myScanner = new Scanner(System.in);
	System.out.println("請輸入一個字符(a-g)");
	char c1 = myScanner.next().charAt(0);//
	//在java中,只要是有值返回,就是一個表達式
	switch(c1) {
		case 'a' : 
			System.out.println("今天星期一,猴子穿新衣");
			break;
		case 'b' : 
			System.out.println("今天星期二,猴子當小二");
			break;
		case 'c' : 
			System.out.println("今天星期三,猴子爬雪山..");
			break;
		//.....
		default:
			System.out.println("你輸入的字符不正確,沒有匹配的");
	
	}
	
	System.out.println("退出了switch ,繼續(xù)執(zhí)行程序");

如何在Java中使用switch分支結(jié)構(gòu)

四、switch 注意事項和細節(jié)討論

如何在Java中使用switch分支結(jié)構(gòu)

//細節(jié)1
	//表達式數(shù)據(jù)類型,應和case 后的常量類型一致,
	//或者是可以自動轉(zhuǎn)成可以相互比較的類型,比如輸入的是字符,而常量是 int
	
	//細節(jié)2
	//switch(表達式)中表達式的返回值必須是:
	//(byte,short,int,char,enum[枚舉],String)

	//細節(jié)3
	//case子句中的值必須是常量(1,'a')或者是常量表達式,而不能是變量
	//
	//細節(jié)4
	//default子句是可選的,當沒有匹配的case時,執(zhí)行default
	//如果沒有default 子句,有沒有匹配任何常量,則沒有輸出
	//
	//細節(jié)5
	//break語句用來在執(zhí)行完一個case分支后使程序跳出switch語句塊;
	//如果沒有寫break,程序會順序執(zhí)行到switch結(jié)尾,除非執(zhí)行到break
	char c = 'b';
	char c2 = 'c';
	switch(c) {
		case 'a' :
			System.out.println("ok1");
			break;
		case 'b'  :
			System.out.println("ok2");
			break;
		default :
			System.out.println("ok3");
	}

	System.out.println("退出了switch,繼續(xù)執(zhí)行..");

如何在Java中使用switch分支結(jié)構(gòu)

把上面的case b中的 break 都去掉,會都執(zhí)行下面輸出語句,不會跳出來。

如何在Java中使用switch分支結(jié)構(gòu) 

五、switch 課堂練習

SwitchExercise.java

1.使用 switch 把小寫類型的 char 型轉(zhuǎn)為大寫(鍵盤輸入)。只轉(zhuǎn)換 a, b, c, d, e. 其它的輸出 “other”。

//使用 switch 把小寫類型的 
	//char型轉(zhuǎn)為大寫(鍵盤輸入)。只轉(zhuǎn)換 a->A, b->B, c, d, e. 
	//其它的輸出 "other"。
	Scanner sc = new Scanner(System.in);
	System.out.println("請輸入a-e");
	char c1 = sc.next().charAt(0);
	switch(c1) {
		case 'a' :
			System.out.println("A");
			break;
		case 'b' :
			System.out.println("B");
			break;
		case 'c' :
			System.out.println("C");
			break;
		case 'd' :
			System.out.println("D");
			break;
		case 'e' :
			System.out.println("E");
			break;
		default :
			System.out.println("你的輸入有誤~");
	
	}

如何在Java中使用switch分支結(jié)構(gòu)

2.對學生成績大于 60 分的,輸出"合格"。低于 60 分的,輸出"不合格"。(注:輸入的成績不能大于 100), 提示: 成績/60

//對學生成績大于60分的,輸出"合格"。低于60分的,
	//輸出"不合格"。(注:輸入的成績不能大于100), 提示 成績/60
	//思路分析
	//1. 這道題,可以使用 分支來完成, 但是要求使用switch
	//2. 這里我們需要進行一個轉(zhuǎn)換, 編程思路 : 
	//   如果成績在 [60,100] , (int)(成績/60) = 1 
	//   如果成績在 [0,60) , (int)(成績/60) = 0 
	
	//代碼實現(xiàn)
	Scanner sc = new Scanner(System.in);
	System.out.println("請輸入成績在0-100之間:");
	double score = sc.nextDouble();
	if (score >= 0 && score<=100) {
	    switch ((int) (score / 60)) {
	        case 0:
	            System.out.println("不合格");
	            break;
	        case 1:
	            System.out.println("合格");
	    }
	}else{
	    System.out.println("請輸入成績在0-100之間");
	}

如何在Java中使用switch分支結(jié)構(gòu)

3.根據(jù)用于指定月份,打印該月份所屬的季節(jié)。3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [課堂練習, 提示: 使用穿透 ]

//根據(jù)用于指定月份,
	//打印該月份所屬的季節(jié)。
	//3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季 
	//[課堂練習, 提示 使用穿透 ] 
	//
	//思路分析
	//1. 創(chuàng)建Scanner對象, 接收用戶輸入
	//2. 使用 int month 接收
	//3. 使用switch 來匹配 ,使用穿透來完成,比較簡潔
	
	Scanner myScanner = new Scanner(System.in);
	System.out.println("輸入月份");
	int month = myScanner.nextInt();
	switch(month) {
		case 3:
		case 4:
		case 5: 
			System.out.println("這是春季");
			break;
		case 6:
		case 7:
		case 8: 
			System.out.println("這是夏季");
			break;
		case 9:
		case 10:
		case 11: 
			System.out.println("這是秋季");
			break;
		case 1:
		case 2:
		case 12: 
			System.out.println("這是冬季");
			break;
		default :
			System.out.println("你輸入的月份不對(1-12)");
	}

如何在Java中使用switch分支結(jié)構(gòu)

六、switch 和 if 的比較

如果判斷的具體數(shù)值不多,而且符合 byte、 short 、int、 char, enum[枚舉], String 這 6 種類型。雖然兩個語句都可以使用,建議使用 swtich 語句。其他情況:對區(qū)間判斷,對結(jié)果為 boolean 類型判斷,使用 if,if 的使用范圍更廣。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI