查看“Java switch分支语句”的源代码
←
Java switch分支语句
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Switch语句== ===switch语句是什么=== *switch语句可以将多选一的情况简化,而使程序简洁易懂。 ===语法格式=== *switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。switch语句的语法格式如下: <nowiki>switch (表达式) { case 选择值1 : 语句块主体1 break ; case 选择值2 : 语句块主体2 break ; …… case 选择值n : 语句块主体n break ; default: 语句块主体n+1 } </nowiki> ===支持类型=== *switch语句由一个控制表达式和多个case标签组成,和if语句不同的是,switch语句后面的控制表达式的数据类型只能是byte、short、char、int、枚举、String六种类型(其中枚举类型和String类型在Java 7才允许),不能是boolean类型。 ==Switch执行步骤== *switch语句先计算括号中表达式的结果。 *根据表达式的值依次匹配case关键字后的选择值1、选择值2、…、选择值n等值,若是所有case的选择值皆不符合,则执行default关键字后的语句块主体,执行完毕即离开switch语句。 *如果遇到某个case的选择值匹配表达式的结果,就会执行该case所对应的语句块主体,一直遇到break语句后才离开switch语句。 *若是没有在case语句结尾处加上break语句,则会一直执行到switch语句的尾端才会离开switch语句。 ===常规用法=== 例 :向用户打印面馆的菜单,并根据用户输入的序号打印他(她)的选择。 <nowiki> package task4; import java.util.Scanner; public class RunNian { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner (System.in); System.out.println("客观,请问您需要什么面:"); System.out.print("1.刀削面\n2.蛋黄面\n3.玉米面\n4.牛筋面\n5.幸福小丸仔面\n"); //获取用户对于菜单的选择 String value = sc.next(); int choise = Integer.valueOf(value); switch(choise) { case 1: System.out.println("您选择的是刀削面"); break; case 2: System.out.println("您选择的是蛋黄面"); break; case 3: System.out.println("您选择的是玉米面"); break; case 4: System.out.println("您选择的是牛筋面"); break; case 5: System.out.println("您选择的是幸福小丸仔面"); break; default: System.out.println("对不起 ,必须在1~6范围内,请重新选择"); break; } System.out.println("欢迎光临"); } } </nowiki> *练习:使用switch模拟中国移动10086客户服务电话,如果用户输入1,打印“查询话费”,如果用户输入2,打印“话费充值”,如果用户输入3,打印“故障申报”,如果用户输入4,打印“人工服务”,输入其他:对不起,必选在1~4范围内选择。 ===多条件的归类合并=== *题目:利用switch的形式编程实现计算月份天数,用户输入年份和月份,如果是1月、3月、5月、7月等月,输出“该月有31天”,如果是4月、6月、9月等月,输出“该月有30天”,如果是2月,输出“该月有28(29)天”。。 <nowiki>Scanner sc =new Scanner(System.in); System.out.println("请输入年份:"); int year = sc.nextInt(); System.out.println("请输入月份:"); int month = sc.nextInt(); switch (month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("该月有31天"); break; case 2: if(year%4==0){ System.out.println("该月有29天"); }else{ System.out.println("该月有28天"); } break; default: System.out.println("该月有30天"); break; }</nowiki> *练习:疫情防控,根据国家名称判断他来自哪个高/中/低风险地区 哪个地区,并根据不同的风险级别打印不同的信息。 ==Java练习题== *使用switch模拟中国移动10086客户服务电话,如果用户输入1,打印“查询话费”,如果用户输入2,打印“话费充值”,如果用户输入3,打印“故障申报”,如果用户输入4,打印“人工服务”; *打印你项目的所有功能:“1.商品下架;2.商品下架;查询商品",接受用户输入的序号,并运用switch语句,根据输入打印出用户的选择:“您选择的是功能1:。。。” ==练习题答案== *BMI值:计1 苗璐瑶提供 <nowiki>import java.util.Scanner; public class mly { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String bmi = scanner.next(); int value = Integer.parseInt(bmi); if(value <18.5) { System.out.println("您的体重过轻"); }else if (value <23.9){//18.5<=value <23.9 System.out.println("您的体形完全正常"); }else if (value <27){//24<=value <27 System.out.println("您的体重有些超重"); }else{//value >=27 System.out.println("您的体重完全超重,请加强锻炼。"); } scanner.close(); } }</nowiki> *中国移动:计1 苗璐瑶提供 <nowiki>import java.util.Scanner; public class my { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc =new Scanner(System.in); String value =sc.next(); int choise =Integer.valueOf(value); switch(choise){ case 1: System.out.println("查询话费"); break; case 2: System.out.println("话费充值"); break; case 3: System.out.println("故障申报"); break; case 4: System.out.println("人工服务"); break; default: System.out.println("人工服务"); break; } sc.close(); } }</nowiki> *计算月份:计1 徐洁、苗璐瑶提供 <nowiki>import java.util.Scanner; public class Yuefen { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); System.out.println("请输入年份:"); int year= scanner.nextInt(); System.out.println("请输入月份:"); int month= scanner.nextInt(); switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("31天"); break; case 2: if(year%4==0&& month==2) { System.out.println("29天"); }else { System.out.println("28天"); } break; default: System.out.println("30天"); break; } scanner.close(); } }</nowiki> 返回 [[Java程序设计]]
返回至
Java switch分支语句
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息