屌打Java系列 switch

switch 多选择结构

1.基本结构

switch:(controllingExpression){
    
  case constantExpression1:
    
    	statement1
      
  case constantExpression2:
    		
    	statement2
      
  case constantExpression3:
    
    	statement3
  
  default:
    	statement
}

语法

switch语句的语法(switch、case、default、break);

switch(变量表达式){
        
  case 常量1:
        //语句
        break;//可选
  case 常量1:
       //语句
        break;//可选
  case 常量1:
        //语句
        break;//可选
   //可以有任何数量的case语句
  default://可选
        //语句
}

switch 语句中的变量类型可以是:

  1. byte、short、int、char。
  2. 从 Java SE7 开始,支持 String 类型
  3. case 标签必须为字符串常量或字面量。

让我们看看具体操作

public class Switch01 {
    public static void main(String[] args) {

        String name = "八戒";

        switch (name){

            case "唐僧" :
                System.out.println("唐僧");


            case "悟空" :
                System.out.println("悟空");


            case "八戒" :
                System.out.println("八戒");


            case "沙僧" :
                System.out.println("沙僧");


            default:
                System.out.println("白龙马");

        }
    }
}

Run

在这里插入图片描述

为什么我们选择"八戒",会同时打印出"沙僧"、"白龙马"呢

我们把"八戒"改成"“唐僧”"试一下

public class Switch01 {
    public static void main(String[] args) {

        String name = "唐僧";

        switch (name){

            case "唐僧" :
                System.out.println("唐僧");


            case "悟空" :
                System.out.println("悟空");


            case "八戒" :
                System.out.println("八戒");


            case "沙僧" :
                System.out.println("沙僧");


            default:
                System.out.println("白龙马");

        }
    }
}

Run

在这里插入图片描述

可以看到把"唐僧"下边的都打印出来了

因为 case 具有 穿透效果

我们加上break;

public class Switch01 {
    public static void main(String[] args) {

        String name = "唐僧";

        switch (name){

            case "唐僧" :
                System.out.println("唐僧");
                break;

            case "悟空" :
                System.out.println("悟空");


            case "八戒" :
                System.out.println("八戒");


            case "沙僧" :
                System.out.println("沙僧");


            default:
                System.out.println("白龙马");

        }
    }
}

Run

在这里插入图片描述

可以看到break;具有阻隔case的穿透效果,也就是终止的意思
break;在循环语句中还可以终止循环的运行,然后继续执行循环之后的代码(如果循环之后有代码的话)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值