Java switch分支语句

来自CloudWiki
Cloud17讨论 | 贡献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程序设计