zoukankan      html  css  js  c++  java
  • java中switch选择结构

    switch  case可以翻译为判断变量xxx,如果是x1 则执行xxxjava语句;如果是x2 则执行xxjava语句。

    1、基本语法

            switch(xxx变量){
                
                case 结果1:
                    System.out.println("结果是1");
                    break;  //每个case判断,都需要添加结束语句,否则会继续下面的case
                    
                case 结果2:
                    System.out.println("结果是2");
                    break;
                
                //都匹配不上,选择default    
                default:
                    System.out.println("结果是10");

    注意事项:

      1、switch判断变量,变量只能是int/String数据类型(byte/short/char可以自动转换为int,所以也可以传入;long数据类型必须强制转换为int才可以)

      2、case条件可以进行合并处理case 结果1: case 结果2: case 结果3:

      3、每个case对switch变量判断结果后,执行完成java语句后,必须break/或者有return语句结束,否则会继续进行下一个case判断并且不论是否满足条件都会执行其中的语句;这种叫穿透

      4、如果所有的case条件都不匹配,则进行default

    2、switch判断变量,变量只能是int/String数据类型(byte/short/char可以自动转换为int,所以也可以传入;long数据类型必须强制转换为int才可以)

            //判断字符串
            String a1 ="jesse";
    
            switch(a1){
    
                case "":
                    System.out.println("结果是1");
                    break;
    
                case "啊":
                    System.out.println("结果是2");
                    break;
    
                //都匹配不上,选择default
                default:
                    System.out.println("结果不是1,也不是2");
    
            }
    
    //判断int类型
            int a1 =10;
    
            switch(a1){
    
                case 1:
                    System.out.println("结果是1");
                    break;
    
                //都匹配不上,选择default
                default:
                    System.out.println("结果不是1");
    
            }
    
     //long类型强制转换为int
            long a1 =10;
    
            switch((int)a1){
    
                case 1:
                    System.out.println("结果是1");
                    break;
    
                //都匹配不上,选择default
                default:
                    System.out.println("结果不是1");
    
            }

    3、case条件可以进行合并处理case 结果1: case 结果2: case 结果3:

            //long类型强制转换为int
            int a1 =10;
    
            switch(a1){
    
                case 1: case 2: case 3:
                    System.out.println("结果是1/2/3");
                    break;
    
                //都匹配不上,选择default
                default:
                    System.out.println("结果不是1/2/3");
    
            }

    4、switch case中的穿透

    如果满足某个case条件,并且改case没有编写结束语句(break/return),那么会继续执行下面的case(不会判断是否满足条件)直到遇到break/return/结束

    如果上一个case没有满足条件,即使没有break,不会进入所以也不会穿透到下个case

    //穿透
            int a1 =10;
    
            switch(a1){
    
                case 10:
                    System.out.println("结果是10");  //满足第一个条件,执行此语句
    
                case 2:
                    System.out.println("结果是2");   //上一个case没有break结束,所以会继续执行此语句
    
                //都匹配不上,选择default
                default:
                    System.out.println("结果不是1/2/3"); //上一个case没有break结束,同样会继续执行此语句
    
            }
    
    //执行结果
    结果是10
    结果是2
    结果不是1/2/3
    
    //不穿透
    int a1 =10;
    
    switch(a1){
    
        case 1:
            System.out.println("结果是1");  //不满足case,不会进入
    
        case 2:
            System.out.println("结果是2");   //上一个case没有进入,这个不满足所以不会执行
    
        //都匹配不上,选择default
        default:
            System.out.println("结果不是1/2"); //上面的都没有执行,所以执行default
    
    }
    //执行结果
    结果不是1/2
  • 相关阅读:
    maven打包不执行测试用例
    maven不打包子模块资源文件
    mvn打包时添加version和profile
    eclipse控制台中文乱码解决方法
    eclipse常用插件
    Spring Boot系列之-logging
    Spring Boot系列之-profile
    Spring Boot系列之-helloword入门
    sqlite入门
    解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/14673660.html
Copyright © 2011-2022 走看看