温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Java中使用switch分支结构

发布时间:2021-05-10 15:53:56 来源:亿速云 阅读:235 作者:Leah 栏目:开发技术

如何在Java中使用switch分支结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Java的特点有哪些

Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

一、基本语法

如何在Java中使用switch分支结构

二、流程图

1.画出 swtich 出流程

2.案例说明流程图

如何在Java中使用switch分支结构 

三、快速入门

  • 案例:Switch01.java

请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g

a 表示星期一,b 表示星期二 …
根据用户的输入显示相应的信息.要求使用 switch 语句完成
代码:

/*	案例:Switch01.java	请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g  	a表示星期一,b表示星期二 …  	根据用户的输入显示相应的信息.要求使用 switch 语句完成	思路分析	1. 接收一个字符 , 创建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 ,继续执行程序");

如何在Java中使用switch分支结构

四、switch 注意事项和细节讨论

如何在Java中使用switch分支结构

//细节1	//表达式数据类型,应和case 后的常量类型一致,	//或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是 int	//细节2	//switch(表达式)中表达式的返回值必须是:	//(byte,short,int,char,enum[枚举],String)	//细节3	//case子句中的值必须是常量(1,'a')或者是常量表达式,而不能是变量	//	//细节4	//default子句是可选的,当没有匹配的case时,执行default	//如果没有default 子句,有没有匹配任何常量,则没有输出	//	//细节5	//break语句用来在执行完一个case分支后使程序跳出switch语句块;	//如果没有写break,程序会顺序执行到switch结尾,除非执行到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,继续执行..");

如何在Java中使用switch分支结构

把上面的case b中的 break 都去掉,会都执行下面输出语句,不会跳出来。

如何在Java中使用switch分支结构 

五、switch 课堂练习

SwitchExercise.java

1.使用 switch 把小写类型的 char 型转为大写(键盘输入)。只转换 a, b, c, d, e. 其它的输出 “other”。

//使用 switch 把小写类型的 	//char型转为大写(键盘输入)。只转换 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分支结构

2.对学生成绩大于 60 分的,输出"合格"。低于 60 分的,输出"不合格"。(注:输入的成绩不能大于 100), 提示: 成绩/60

//对学生成绩大于60分的,输出"合格"。低于60分的,	//输出"不合格"。(注:输入的成绩不能大于100), 提示 成绩/60	//思路分析	//1. 这道题,可以使用 分支来完成, 但是要求使用switch	//2. 这里我们需要进行一个转换, 编程思路 : 	//   如果成绩在 [60,100] , (int)(成绩/60) = 1 	//   如果成绩在 [0,60) , (int)(成绩/60) = 0 	//代码实现	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分支结构

3.根据用于指定月份,打印该月份所属的季节。3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [课堂练习, 提示: 使用穿透 ]

//根据用于指定月份,	//打印该月份所属的季节。	//3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季 	//[课堂练习, 提示 使用穿透 ] 	//	//思路分析	//1. 创建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分支结构

六、switch 和 if 的比较

如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这 6 种类型。虽然两个语句都可以使用,建议使用 swtich 语句。其他情况:对区间判断,对结果为 boolean 类型判断,使用 ifif 的使用范围更广。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI