switch语句在开发中经常会用到,它主要用于替换多个if/else语句,提高代码的可读性。基础用法如下
需要注意的是,在case代码块,如果命中之后不需要执行下面的case,一定要记得添加break语句。
目前swicth语句支持的类型有
而且值不能为null,另外在Java 7以前,switch语句是不支持字符串类型的,在Java 7及以后,在switch中使用字符串类型,最终编译器会使用字符串的hashCode的方法的值来替换它,最终转化为int类型的switch语句,比如上面的代码,在编译器编译之后,会得到实际逻辑等同于下面这段代码的class字节码。
随着Java版本的不断迭代,在Java 13以后,switch语句终于有了比较大的变化,变得更加好用,比如说,可以多个case写在一起,通过->符号可以省略break语句,还可以将switch语句作为表达式使用。下面看看具体的示例。
在Java12中通过设置编译参数–enable-preview也可以实现
注释