switch语句,会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(在存在default语句的情况下)。

1494918663569372.png

根据表达式不同可以执行许多不同的操作。switch语句中case标签在JDK1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在JDK1.7之后允许使用字符串(String)。

语法结构:

switch(表达式){
case值1:
    语句序列1;
    [break];
case值2:
    语句序列2;
    [break];
default:
     默认语句;
}

【相关示例】

    public class Testswitch{  
    public static void main(String[]args){    
        String name = "陈陈菌";  
        switch(name){  
        case "陈陈菌":  
            System.out.println("本人");  
            break;  
        case "略略略":  
            System.out.println("非本人");  
            break;  
        default:  
            System.out.println("不存在此人");  
        }  
    }  
}

运行结果:

2134444.png

需要注意:

  1. 每条分支语句必须以break; 为结束,不然会执行全部的分支语句。
  2. 当布尔表达式是等值判断(同数据类型)的情况,可以使用switch结构,但如果布尔表达式区间(不同数据类型)判断的情况,则只能使用if,else,else
    if多选择结构。