如何在Java中使用switch分支结构
如何在Java中使用switch分支结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Java的特点有哪些
Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
一、基本语法
二、流程图
1.画出 swtich 出流程
2.案例说明流程图
三、快速入门
案例: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来完成匹配,并输出对应信息 代码 */ ScannermyScanner=newScanner(System.in); System.out.println("请输入一个字符(a-g)"); charc1=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,继续执行程序");
四、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 charc='b'; charc2='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,继续执行..");
把上面的case b中的 break 都去掉,会都执行下面输出语句,不会跳出来。
五、switch 课堂练习
SwitchExercise.java
1.使用 switch 把小写类型的 char 型转为大写(键盘输入)。只转换 a, b, c, d, e. 其它的输出 “other”。
//使用switch把小写类型的 //char型转为大写(键盘输入)。只转换a->A,b->B,c,d,e. //其它的输出"other"。 Scannersc=newScanner(System.in); System.out.println("请输入a-e"); charc1=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.对学生成绩大于 60 分的,输出"合格"。低于 60 分的,输出"不合格"。(注:输入的成绩不能大于 100), 提示: 成绩/60
//对学生成绩大于60分的,输出"合格"。低于60分的, //输出"不合格"。(注:输入的成绩不能大于100),提示成绩/60 //思路分析 //1.这道题,可以使用分支来完成,但是要求使用switch //2.这里我们需要进行一个转换,编程思路: //如果成绩在[60,100],(int)(成绩/60)=1 //如果成绩在[0,60),(int)(成绩/60)=0 //代码实现 Scannersc=newScanner(System.in); System.out.println("请输入成绩在0-100之间:"); doublescore=sc.nextDouble(); if(score>=0&&score<=100){ switch((int)(score/60)){ case0: System.out.println("不合格"); break; case1: System.out.println("合格"); } }else{ System.out.println("请输入成绩在0-100之间"); }
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.使用intmonth接收 //3.使用switch来匹配,使用穿透来完成,比较简洁 ScannermyScanner=newScanner(System.in); System.out.println("输入月份"); intmonth=myScanner.nextInt(); switch(month){ case3: case4: case5: System.out.println("这是春季"); break; case6: case7: case8: System.out.println("这是夏季"); break; case9: case10: case11: System.out.println("这是秋季"); break; case1: case2: case12: System.out.println("这是冬季"); break; default: System.out.println("你输入的月份不对(1-12)"); }
六、switch 和 if 的比较
如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String
这 6 种类型。虽然两个语句都可以使用,建议使用 swtich
语句。其他情况:对区间判断,对结果为 boolean
类型判断,使用 if
,if
的使用范围更广。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。