Java基础12----switch语句

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础12----switch语句相关的知识,希望对你有一定的参考价值。

引言

前面讲了if else分支结构,在Java中还有一种语句能用于分支结构,那就是switch语句。

switch语句介绍

与if else语句不同的是,if else中的判断条件要求的是布尔表达式,而switch判断的是一个确定的数值。且switch 语句仅能支持char,int,String,枚举类型的数据的判断
switch结构:
switch (数据)
    case 值 :
        条件满足时执行的语句
        [break;]
    
    case 值2 :
        条件满足时执行的语句
        [break;]
    
    default :
        条件都不满足时执行的语句
        [break;]
    

在switch语句中break是可选的,但是是否写break语句,最终的结果差距很大。
示例1:不包含break语句

public class Demo 
    public static void main(String[] args) 
        // switch语句示例, 不包含break语句
        int age = 18;
        switch (age) 
            case 1 : 
                System.out.println("age = 1");
            
            case 18 : 
                System.out.println("age = 18");
            
            case 10 : 
                System.out.println("age = 10");
            
            case 20 : 
                System.out.println("age = 20");
            
            default : 
                System.out.println("no match age value");
            
        
    



观察结果,从满足条件开始,程序执行了后面的所有case下的语句,包括default语句

示例2:添加部分break语句

public class Demo 
    public static void main(String[] args) 
        // switch语句示例, 不包含break语句
        int age = 18;
        switch (age) 
            case 1 : 
                System.out.println("age = 1");
            
            case 18 : 
                System.out.println("age = 18");
            
            case 10 : 
                System.out.println("age = 10");
                break;
            
            case 20 : 
                System.out.println("age = 20");
                break;
            
            default : 
                System.out.println("no match age value");
                break;
            
        
    



示例3:所有语句添加break语句

public class Demo 
    public static void main(String[] args) 
        // switch语句示例, 不包含break语句
        int age = 18;
        switch (age) 
            case 1 : 
                System.out.println("age = 1");
                break;
            
            case 18 : 
                System.out.println("age = 18");
                break;
            
            case 10 : 
                System.out.println("age = 10");
                break;
            
            case 20 : 
                System.out.println("age = 20");
                break;
            
            default : 
                System.out.println("no match age value");
                break;
            
        
    



观察上面的结果,我们可以总结出switch语句的执行特点:
如果判断的数据与case后的值相同,则从该case后的语句开始执行,并且知道遇到break语句跳出switch语句结构,如果没有遇到break语句,则会将后续的语句全部执行,直到结束switch语句。

总结

switch语句判断的是一个数据是否等于一个值,他的判断条件并不是布尔表达式,**且switch语句是在遇到break之后才停止执行,**所有在写代码的时候,如果不是必要的情况,必须加上break语句。

以上是关于Java基础12----switch语句的主要内容,如果未能解决你的问题,请参考以下文章

Java 12 switch表达式新特性(->,yield)

JSP 基础语法

JSP开发中的基础语法

12 switch语句

Java 基础语法方法的使用

Java语言基础之方法的设计