Java基础之选择语句--switch

Java基础之选择语句--switch

 

switch语句格式:
switch(表达式) {
           case 常量值1:
               语句体1;
               break;
           case 常量值2:
              语句体2;
              break;
              ...
          default:
             语句体n+1;
             break;
}

 

执行流程
o  首先计算出表达式的值
o  其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
o  最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
要求这个表达式最后必须能计算出一个准确的结果,并且这个结果的类型只能是 byte short intchar  enum(枚举), 在JDK7以后增加了字符串类型。
break的作用是结束switch语句,跳出switch语句。

 

switch语句练习-春夏秋冬
o  需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
o  演示效果
输入: 1212 输出:冬季
输入: 34输出:春季
输入: 67输出:夏季
输入: 91011 输出:秋季
输入:其它数字 输出:数字有误

 

public static void main(String[] args) {
   //定义月份变量,判断季节
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入月份:");
   int month = sc.nextInt();//6

 

   //switch语句实现选择
   switch(month) {
       case 1:
           System.out.println("冬季");
           break;
       case 2:
           System.out.println("冬季");
           break;
       case 3:
           System.out.println("春季");
           break;
       case 4:
           System.out.println("春季");
           break;
       case 5:
           System.out.println("春季");
           break;
       case 6:
           System.out.println("夏季");
           break;
       case 7:
           System.out.println("夏季");
           break;
       case 8:
           System.out.println("夏季");
           break;
       case 9:
           System.out.println("秋季");
           break;
       case 10:
           System.out.println("秋季");
           break;
       case 11:
           System.out.println("秋季");
           break;
       case 12:
           System.out.println("冬季");
           break;
       default:
           System.out.println("你输入的月份数字有误");
           break;
    }
}

case的穿透性

switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。


public static void main(String[] args) {
    
//定义月份变量,判断季节
    Scanner sc = new Scanner(System.in);
    
System.out.println("请输入月份:");
    
int month = sc.nextInt();//3
    //switch语句实现选择
    switch(month) {
        
case 12:
        
case 1:
        
case 2:
            
System.out.println("冬季");
            
break;
        
case 3:
        
case 4:
        
case 5:
            
System.out.println("春季");
            
break;
        
case 6:
        
case 7:
        
case 8:
            
System.out.println("夏季");
            
break;
        
case 9:
        
case 10:
        
case 11:
            
System.out.println("秋季");
            
break;
        
default:
            
System.out.println("你输入的月份数字有误");
            
break;
    }
}

上述程序中,执行case3后,由于没有break语句,程序会一直向后走,不会在判断case,直接向下运行,直到遇到break关键字,才会结束switch语句。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值