Java编程那些事儿34——switch语句语法
当前位置:以往代写 > JAVA 教程 >Java编程那些事儿34——switch语句语法
2019-06-14

Java编程那些事儿34——switch语句语法

Java编程那些事儿34——switch语句语法

副标题#e#

5.3.2 switch语句

switch要害字的中文意思是开关、转换的意思,switch语句在条件语句中出格适合做一组变量相等的判定,在布局上比if语句要清晰许多。

switch语句的语法名目为:

switch(表达式){
 case 值1:
  成果代码1;
  [break;]
 case 值2:
  成果代码2;
  [break;]
 ……
 default:
  成果代码1;
  [break;]
}

语法说明:

1、表达式的范例只能为byte、short、char和int这4种之一。

2、值1、值2…值n只能为常数或常量,不能为变量。

3、成果代码部门可以写任意多句。

4、break要害字的意思是间断,指竣事switch语句,break语句为可选。

5、case语句可以有任意多句,是标号语句。

6、default语句可以写在switch语句中的任意位置,成果雷同于if语句中的else。

执行流程:当表达式的值和对应case语句后的值沟通时,既从该位置开始向下执行,一直执行到switch语句的竣事,在执行中,假如碰着break语句,则竣事switch语句的执行。

则在if-else if-else语句中,按照月份得到每个月的天数,不思量闰年,的示例代码如下:

int month = 10;
int days = 0;
switch(month){
case 1:
  days = 31;
  break;
case 2:
  days = 28;
  break;
case 3:
  days = 31;
  break;
case 4:
  days = 30;
  break;
case 5:
  days = 31;
  break;
case 6:
  days = 30;
  break;
case 7:
  days = 31;
  break;
case 8:
  days = 31;
  break;
case 9:
  days = 30;
  break;
case 10:
  days = 31;
  break;
case 11:
  days = 30;
  break;
case 12:
  days = 31;
  break;
}
System.out.println(days);


#p#副标题#e#

按照switch语句的语法,该代码也可以简化为如下名目:

int month = 10;
int days = 0;
switch(month){
 case 2:
   days = 28;
   break;
 case 4:
 case 6:
 case 9:
 case 11:
   days = 30;
   break;
 default:
   days = 31;
}
System.out.println(days);

代码说明:因为switch语句每次较量的是相等干系,所以可以把成果沟通的case语句归并起来,并且可以把其他的条件归并到default语句中,这样可以简化case语句的书写。该代码的布局比最初的代码简捷许多了。

固然在语法上switch只能较量相等的布局,其实某些区间的鉴别也可以通过必然的调动利用switch语句举办实现。譬喻if-else if-else语句示例中的分数转换的示例,则分数的区间位于0-100之间,假如一个一个的去较量,case语句的数量会较量多,所以可以做一个简朴的数字调动,只较量分数的十位及以上数字,这样数字的区间就缩小到了0-10,则实现的代码如下:

int score = 87;
switch(score / 10){
 case 10:
 case 9:
  System.out.println(‘A’);
  break;
 case 8:
  System.out.println(‘B’);
  break;
 case 7:
  System.out.println(‘C’);
  break;
 case 6:
  System.out.println(‘D’);
  break;
 default:
  System.out.println(‘E’);
}

虽然,switch语句不是很适合举办区间的鉴别,更多的区间鉴别一般照旧利用if-else if-else语句举办实现。

5.3.3 小结

if语句可以实现措施中所有的条件,switch语句出格适合一系列点相等的鉴别,布局显得较量清晰,并且执行速度比if语句要稍微快一些,在实际的代码中,可以按照需要来利用对应的语句实现措施要求的逻辑成果。

文章来历:http://blog.csdn.net/Mailbomb/archive/2008/06/14/2547207.aspx

    关键字:

在线提交作业