“Java switch分支语句”的版本间的差异
来自CloudWiki
第42行: | 第42行: | ||
</nowiki> | </nowiki> | ||
练习: | 练习: | ||
− | * | + | *使用if...else 计算客户的BMI值,体质指数(BMI)=体重(kg)÷(身高(m)*身高(m)),根据用户输入的身高和体重进行计算,如果BMI值低于18.5,显示“您的体重过轻”;如果BMI值值在18.5-23.9之间,显示“您的体型完全正常,请继续保持”;如果BMI值值在24-27之间,显示“您的体型有些超重”;如果BMI值在27以上,显示“您的体重严重超重,请加强锻炼!” |
− | + | ||
*使用switch模拟中国移动10086客户服务电话,如果用户输入1,打印“查询话费”,如果用户输入2,打印“话费充值”,如果用户输入3,打印“故障申报”,如果用户输入4,打印“人工服务”; | *使用switch模拟中国移动10086客户服务电话,如果用户输入1,打印“查询话费”,如果用户输入2,打印“话费充值”,如果用户输入3,打印“故障申报”,如果用户输入4,打印“人工服务”; | ||
− | * | + | |
+ | *2.利用switch的形式编程实现计算月份天数,用户输入年份和月份,如果是1月、3月、5月、7月等月,输出“该月有31天”,如果是4月、6月、9月等月,输出“该月有30天”,如果是2月,输出“该月有28(29)天”。 | ||
+ | |||
+ | |||
返回 [[Java程序设计]] | 返回 [[Java程序设计]] |
2018年3月19日 (一) 12:37的版本
- switch语句可以将多选一的情况简化,而使程序简洁易懂。
- switch语句由一个控制表达式和多个case标签组成,和if语句不同的是,switch语句后面的控制表达式的数据类型只能是byte、short、char、int、枚举、String六种类型(其中枚举类型和String类型在Java 7才允许),不能是boolean类型。
- switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。switch语句的语法格式如下:
switch (表达式) { case 选择值1 : 语句块主体1 break ; case 选择值2 : 语句块主体2 break ; …… case 选择值n : 语句块主体n break ; default: 语句块主体n+1 }
注解:
- switch语句先计算括号中表达式的结果。
- 根据表达式的值依次匹配case关键字后的选择值1、选择值2、…、选择值n等值,若是所有case的选择值皆不符合,则执行default关键字后的语句块主体,执行完毕即离开switch语句。
- 如果遇到某个case的选择值匹配表达式的结果,就会执行该case所对应的语句块主体,一直遇到break语句后才离开switch语句。
- 若是没有在case语句结尾处加上break语句,则会一直执行到switch语句的尾端才会离开switch语句。
Scanner scanner = new Scanner(System.in); //获取用户对于菜单的选择 String value = scanner.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; default: System.out.println("您的输入不正确,必须在1~6范围内!"); }
练习:
- 使用if...else 计算客户的BMI值,体质指数(BMI)=体重(kg)÷(身高(m)*身高(m)),根据用户输入的身高和体重进行计算,如果BMI值低于18.5,显示“您的体重过轻”;如果BMI值值在18.5-23.9之间,显示“您的体型完全正常,请继续保持”;如果BMI值值在24-27之间,显示“您的体型有些超重”;如果BMI值在27以上,显示“您的体重严重超重,请加强锻炼!”
- 使用switch模拟中国移动10086客户服务电话,如果用户输入1,打印“查询话费”,如果用户输入2,打印“话费充值”,如果用户输入3,打印“故障申报”,如果用户输入4,打印“人工服务”;
- 2.利用switch的形式编程实现计算月份天数,用户输入年份和月份,如果是1月、3月、5月、7月等月,输出“该月有31天”,如果是4月、6月、9月等月,输出“该月有30天”,如果是2月,输出“该月有28(29)天”。
返回 Java程序设计