欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解

 更新時(shí)間:2021年05月10日 11:00:23   作者:兮動(dòng)人  
這篇文章主要介紹了Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很大的幫助,需要的朋友可以參考下

一、基本語(yǔ)法

在這里插入圖片描述

二、流程圖

1.畫(huà)出 swtich 出流程

2.案例說(shuō)明流程圖

在這里插入圖片描述 

三、快速入門(mén)

  • 案例:Switch01.java

請(qǐng)編寫(xiě)一個(gè)程序,該程序可以接收一個(gè)字符,比如:a,b,c,d,e,f,g

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

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

在這里插入圖片描述

四、switch 注意事項(xiàng)和細(xì)節(jié)討論

在這里插入圖片描述

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

	//細(xì)節(jié)3
	//case子句中的值必須是常量(1,'a')或者是常量表達(dá)式,而不能是變量
	//
	//細(xì)節(jié)4
	//default子句是可選的,當(dāng)沒(méi)有匹配的case時(shí),執(zhí)行default
	//如果沒(méi)有default 子句,有沒(méi)有匹配任何常量,則沒(méi)有輸出
	//
	//細(xì)節(jié)5
	//break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后使程序跳出switch語(yǔ)句塊;
	//如果沒(méi)有寫(xiě)break,程序會(huì)順序執(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í)行..");

在這里插入圖片描述

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

在這里插入圖片描述 

五、switch 課堂練習(xí)

SwitchExercise.java

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

//使用 switch 把小寫(xiě)類型的 
	//char型轉(zhuǎn)為大寫(xiě)(鍵盤(pán)輸入)。只轉(zhuǎn)換 a->A, b->B, c, d, e. 
	//其它的輸出 "other"。
	Scanner sc = new Scanner(System.in);
	System.out.println("請(qǐng)輸入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("你的輸入有誤~");
	
	}

在這里插入圖片描述

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

//對(duì)學(xué)生成績(jī)大于60分的,輸出"合格"。低于60分的,
	//輸出"不合格"。(注:輸入的成績(jī)不能大于100), 提示 成績(jī)/60
	//思路分析
	//1. 這道題,可以使用 分支來(lái)完成, 但是要求使用switch
	//2. 這里我們需要進(jìn)行一個(gè)轉(zhuǎn)換, 編程思路 : 
	//   如果成績(jī)?cè)?[60,100] , (int)(成績(jī)/60) = 1 
	//   如果成績(jī)?cè)?[0,60) , (int)(成績(jī)/60) = 0 
	
	//代碼實(shí)現(xiàn)
	Scanner sc = new Scanner(System.in);
	System.out.println("請(qǐng)輸入成績(jī)?cè)?-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("請(qǐng)輸入成績(jī)?cè)?-100之間");
	}

在這里插入圖片描述

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

//根據(jù)用于指定月份,
	//打印該月份所屬的季節(jié)。
	//3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季 
	//[課堂練習(xí), 提示 使用穿透 ] 
	//
	//思路分析
	//1. 創(chuàng)建Scanner對(duì)象, 接收用戶輸入
	//2. 使用 int month 接收
	//3. 使用switch 來(lái)匹配 ,使用穿透來(lái)完成,比較簡(jiǎn)潔
	
	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("你輸入的月份不對(duì)(1-12)");
	}

在這里插入圖片描述

六、switch 和 if 的比較

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

到此這篇關(guān)于Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解的文章就介紹到這了,更多相關(guān)Java switch分支結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Eclipse下基于Java的OpenCV開(kāi)發(fā)環(huán)境配置教程

    Eclipse下基于Java的OpenCV開(kāi)發(fā)環(huán)境配置教程

    這篇文章主要為大家詳細(xì)介紹了Eclipse下基于Java的OpenCV開(kāi)發(fā)環(huán)境配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 帶你了解mybatis如何實(shí)現(xiàn)讀寫(xiě)分離

    帶你了解mybatis如何實(shí)現(xiàn)讀寫(xiě)分離

    本篇文章主要介紹了MyBatis實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)分離的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能給你帶來(lái)幫助
    2021-08-08
  • 如何通過(guò)自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性

    如何通過(guò)自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性

    這篇文章主要介紹了如何通過(guò)自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MyBatis中一對(duì)多的xml配置方式(嵌套查詢/嵌套結(jié)果)

    MyBatis中一對(duì)多的xml配置方式(嵌套查詢/嵌套結(jié)果)

    這篇文章主要介紹了MyBatis中一對(duì)多的xml配置方式(嵌套查詢/嵌套結(jié)果),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中的多線程一定就快嗎?

    Java中的多線程一定就快嗎?

    這篇文章主要介紹了Java 多線程的相關(guān)資料,幫助大家是否選擇開(kāi)啟多線程,感興趣的朋友可以了解下
    2020-09-09
  • Spring的攔截器HandlerInterceptor詳解

    Spring的攔截器HandlerInterceptor詳解

    這篇文章主要介紹了Spring的攔截器HandlerInterceptor詳解,攔截器是相對(duì)于Spring中來(lái)說(shuō)的,它和過(guò)濾器不一樣,過(guò)濾器的范圍更廣一些是相對(duì)于Tomcat容器來(lái)說(shuō)的,攔截器可以對(duì)用戶進(jìn)行攔截過(guò)濾處理,需要的朋友可以參考下
    2024-01-01
  • Java爬蟲(chóng)框架之WebMagic實(shí)戰(zhàn)

    Java爬蟲(chóng)框架之WebMagic實(shí)戰(zhàn)

    這篇文章主要介紹了Java爬蟲(chóng)框架之WebMagic實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java關(guān)鍵字之instanceof詳解

    Java關(guān)鍵字之instanceof詳解

    instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)
    2021-11-11
  • springboot使用hibernate validation對(duì)參數(shù)校驗(yàn)的實(shí)現(xiàn)方法

    springboot使用hibernate validation對(duì)參數(shù)校驗(yàn)的實(shí)現(xiàn)方法

    這篇文章主要介紹了spring-boot 使用hibernate validation對(duì)參數(shù)進(jìn)行優(yōu)雅的校驗(yàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java獲取時(shí)間打印到控制臺(tái)代碼實(shí)例

    Java獲取時(shí)間打印到控制臺(tái)代碼實(shí)例

    這篇文章主要介紹了Java獲取時(shí)間打印到控制臺(tái)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論