java中switchcase用法_java中switch case用法

java中switchcase用法_java中switch case用法switch介绍在java编写代码时,经常需要使用逻辑判断,除了if else, 还可以通过switch case语句提供多路分支选择流程控制。

switch介绍

在java编写代码时,经常需要使用逻辑判断,除了if else, 还可以通过switch case语句提供多路分支选择流程控制。switch语句根据一个表达式的值,选择运行多个操作中的一个。当需要对选项进行等值判断时,使用switch语句更加简洁明了。switch的case语句可以处理int,short,byte,char,string,enum类型的值,但是不能处理long,double,float类型。

switch case语句的基本语法如下:

switch(表达式) {
    case 值1:
        语句块1;
        break;
    case 值2:
        语句块2;
        break;
    …
    case 值n:
        语句块n;
        break;
    default:
        语句块n+1;
        break;
}

switch具体使用

例子:

    private static void testSwitch() {
        /** 支持int整型 */
        int type = 1;
        switch (type){
            case 1:
                System.out.println("int type 1");
                break;
            case 2:
                System.out.println("int type 2");
                break;
            default:
                System.out.println("int type unknown");
                break;
        }

        /** 支持byte类型 */
        byte byteType = 1;
        switch (byteType){
            case 1:
                System.out.println("byte type 1");
                break;
            case 2:
                System.out.println("byte type 2");
                break
            default:
                System.out.println("byte type unknown");
                break;
        }

        /** 支持short类型 */
        short shortType = 1;
        switch (shortType){
            case 1:
                System.out.println("short type 1");
                break;
            case 2:
                System.out.println("short type 2");
                break;
            default:
                System.out.println("short type unknown");
                break;
        }

        /** 支持char类型 */
        char charType = 'a';
        switch (charType){
            case 'a':
                System.out.println("char type a");
                break;
            case 'b':
                System.out.println("char type b");
                break;
            default:
                System.out.println("char type unknown");
                break;
        }

        /** 支持string类型(since 1.7) */
        String strType = "a";
        switch (strType){
            case "a":
                System.out.println("str type a");
                break;
            case "b":
                System.out.println("str type b");
                break;
            default:
                System.out.println("str type unknown");
                break;
        }

        /** 支持enum类型(since 1.5) */
        Category category = Category.A;
        switch (category){
            case A:
                System.out.println("category type a");
                break;
            case B:
                System.out.println("category type b");
                break;
            default:
                System.out.println("category type unknown");
                break;
        }
    }
    public static enum Category{
        A,B
    }

输出结果:

int type 1
byte type 1
short type 1
char type a
str type a
category type a

switch注意事项

1. switch(表达式):括号中的‘表达式’只支持部分数据类型,byte、short、int、char、还有枚举;java 7 开始支持string类型。

2. case 值:这里的‘值’只能是常量表达式。

3. default:如果没有符合的case就执行它,但default并不是必须的。

switch和if语句的区别

1. switch和if语句都是选择语句,允许在程序运行时控制程序的执行过程。

2. switch和if-else相比,它使用了Binary Tree算法,不管有多少case,都使用跳转表直接跳转,不需逐个比较查询。绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。

3. switch的case的值只能是常量表达式,而if-else则可以是更加灵活。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/11981.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注