“Java switch分支语句”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“*switch语句可以将多选一的情况简化,而使程序简洁易懂。 *switch语句由一个控制表达式和多个case标签组成,和if语句不同的是…”)
 
第3行: 第3行:
 
*switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。switch语句的语法格式如下:
 
*switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。switch语句的语法格式如下:
 
  <nowiki>switch (表达式) {  
 
  <nowiki>switch (表达式) {  
case 选择值1 :
+
  case 选择值1 :
语句块主体1  
+
    语句块主体1  
break ;
+
    break ;
case 选择值2 :
+
  case 选择值2 :
语句块主体2  
+
    语句块主体2  
break ;
+
    break ;
……  
+
  ……  
case 选择值n :
+
  case 选择值n :
语句块主体n  
+
    语句块主体n  
break ;
+
    break ;
default:
+
  default:
语句块主体n+1  
+
    语句块主体n+1  
}</nowiki>
+
}
*注解:
+
</nowiki>
(1)switch语句先计算括号中表达式的结果。
+
注解:
(2)根据表达式的值依次匹配case关键字后的选择值1、选择值2、…、选择值n等值,若是所有case的选择值皆不符合,则执行default关键字后的语句块主体,执行完毕即离开switch语句。
+
*switch语句先计算括号中表达式的结果。
(3)如果遇到某个case的选择值匹配表达式的结果,就会执行该case所对应的语句块主体,一直遇到break语句后才离开switch语句。
+
*根据表达式的值依次匹配case关键字后的选择值1、选择值2、…、选择值n等值,若是所有case的选择值皆不符合,则执行default关键字后的语句块主体,执行完毕即离开switch语句。
(4)若是没有在case语句结尾处加上break语句,则会一直执行到switch语句的尾端才会离开switch语句。
+
*如果遇到某个case的选择值匹配表达式的结果,就会执行该case所对应的语句块主体,一直遇到break语句后才离开switch语句。
*例如:当接收用户的输入为1时,输出“您选择了处理查询所有书籍的业务”;输入为2时,输出“您选择了处理按书籍编号查询”;输入为3时,输出“您选择了购买书籍”;否则输出“您的输入不正确,必须在1~6范围内!”。
+
*若是没有在case语句结尾处加上break语句,则会一直执行到switch语句的尾端才会离开switch语句。
 +
 
 
  <nowiki>Scanner scanner = new Scanner(System.in);
 
  <nowiki>Scanner scanner = new Scanner(System.in);
 
//获取用户对于菜单的选择
 
//获取用户对于菜单的选择
第27行: 第28行:
 
int choise = Integer.valueOf(value);
 
int choise = Integer.valueOf(value);
 
switch(choise) {
 
switch(choise) {
case 1:  
+
    case 1:  
System.out.println("您选择了处理查询所有书籍的业务");
+
System.out.println("您选择了处理查询所有书籍的业务");
break;
+
break;
case 2:  
+
    case 2:  
System.out.println("您选择了处理按书籍编号查询");
+
System.out.println("您选择了处理按书籍编号查询");
break;
+
break;
case 3:
+
    case 3:
System.out.println("您选择了购买书籍");
+
System.out.println("您选择了购买书籍");
break;
+
break;
default:
+
    default:
System.out.println("您的输入不正确,必须在1~6范围内!");
+
System.out.println("您的输入不正确,必须在1~6范围内!");
}</nowiki>
+
  }
 +
</nowiki>
 +
练习:
 +
*利用switch的形式编程实现计算月份天数。
 +
*程序运行时用户输入具体的年份和月份,然后输出对应的年份要求月份的天数。比如,用户输入的年份为2018,月份为1,则输出31天。
 +
 
 
返回 [[Java程序设计]]
 
返回 [[Java程序设计]]

2018年3月17日 (六) 14:17的版本

  • 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范围内!");
  }

练习:

  • 利用switch的形式编程实现计算月份天数。
  • 程序运行时用户输入具体的年份和月份,然后输出对应的年份要求月份的天数。比如,用户输入的年份为2018,月份为1,则输出31天。

返回 Java程序设计