Java中switch条件语句的用法—Java常识

       Java中switch条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某表达式的值做出判断,从而决定程序执行哪一段代码。例如,在程序中使用数字1~7表示星期一到星期日,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述。用于表示星期的数字:

  如果等于1,则输出星期一

  如果等于2,则输出星期二

  如果等于3,则输出星期三

  如果等于4,则输出星期四

  如果等于5,则输出星期五

  如果等于6,则输出星期六

  如果等于7,则输出星期日

  对于上面一段伪代码的描述,大家可能会立刻想到用刚学过得if else if else语句来实现,但是由于判断条件比较多,实现起来代码过长,不便于阅读。Java中提供了一种switch语句来实现这种需求,在 switch语句中使用 switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标值匹配时,会执行对应case下的语句。具体实现伪代码如下:

  switch(用于表示星期的数字){

  case 1:

  输出星期一;

  break;

  case 2:

  输出星期二;

  break;

  Case 3:

  输出星期三;

  break;

  case 4:

  输出星期四;

  break;

  case 5:

  输出星期五;

  break;

  case 6:

  输出星期六;

  break;

  case 7:

  输出星期日;

  break

  }

  上面改写后的伪代码便描述了 switch语句的基本语法格式,具体如下:

  switch(表达式){

  case 目标值1:

  执行语句 1

  break;

  case目标值 2:

  执行语句 2

  break;

  case目标值n:

  执行语句n

  break;

  default:

  执行语句 n+1

  break;

  }

  在上面的格式中, switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行 default后的语句。 switch语句中的 break关键字以后再具体介绍,此处,初学者只需要知道 break的作用是跳出 switch语句即可。Java常识

  需要注意的是,在 switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其他类型的值,程序会报错。但上述说法并不严谨,实际上在JDK5.0中引入的新特性enum枚举也可以作为 switch语句表达式的值。在JDK7.0中也引入了新特性,switch语句可以接收一个 String类型的值。关于这两个新特性此处不便进行详细讲解,感兴趣的同学可以通过查阅官方资料进行自学。接下来通过一个案例演示根据数字来输出中文格式的星期,例如:Example10.java。

  public class Examplel0{

  public static void main(String[] args){

  int week=5;

  switch(week){

  case 1:

  system.out.print1n( 星期一

  break;

  case 2:

  system.out.print1n( 星期二

  break;

  case 3:

  system.out.print1n( 星期三

  break;

  case 4:

  system.out.print1n( 星期四

  break;

  case 5:

  system.out.print1n( 星期五

  break;

  case 6:

  system.out.print1n( 星期六

  break;

  case 7:

  system.out.print1n( 星期日

  break;

  default:

  system.out.print1n( 输入法人数字不确定

  break;

  }

  }

  }

  在使用 switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期日,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。接下来通过一个案例来实现上面描述的情况,如下面所示。案例:Example11.java。

  public class Examplel0{

  public static void main(String[] args){

  int week=5;

  switch(week){

  case 1:

  case 2:

  case 3:

  case 4:

  case 5:

  //当week满足值1、2、3、4、5中任意一个时,处理方式相同

  system.out.print1n( 今天是工作日

  break;

  case 6:

  case 7:

  //当week满足值6、7中任意一个时,处理方式相同

  system.out.print1n( 今天是休息日

  break;

  }

  }

 

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值