在java编写代码时,经常需要使用逻辑判断,除了if else, 还可以通过switch case语句提供多路分支选择流程控制switch语句根据一个表达式的值,选择运行多个操作中的一个当需要对选项进行等值判断时,使用switch语句更加简洁明了switch的case语句可以处理int,short,byte,char,string,enum类型的值,但是不能处理long,double,float类型,我来为大家科普一下关于java如何获取switch当前的值?下面希望有你要的答案,我们一起来看看吧!

java如何获取switch当前的值(Java-switch)

java如何获取switch当前的值

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则可以是更加灵活。

,