欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的Switch语句

程序员文章站 2022-06-19 21:16:41
...

首先,switch语句支持的expression表达式类型的演变史了解一下:
JDK1.0 - 1.4 数据类型接受 byte short int char
JDK1.5 数据类型接受 byte short int char enum(枚举)
JDK1.7 数据类型接受 byte short int char enum(枚举), String

参考链接:https://blog.csdn.net/qq_41566772/article/details/88738860

那么为什么switch不支持long类型和浮点型呢?
长时间转换为int将失去精度,导致数据不准确,因此JAVA交换机具有不允许长的逻辑规则。
浮点型:浮点型无法精确比较,由于精度问题。
Java中的Switch语句由此,笔者大致猜测可能switch比较不适用于那些位数较长的数据,或是不确定如浮点数。

另外switch不支持boolean,但是完全可以使用int 0 1 代替;

关于执行过程:

凡是遇到break语句,必定跳出当前switch语句;
若是特殊情况case和default都没有break语句,上代码:

Java中的Switch语句
但是如果表达式对应的case语句移位:

Java中的Switch语句
就会直接命中对应的case语句,然后再按照从左往右,从上往下的顺序执行代码,即使default也不例外:

Java中的Switch语句

相关标签: Java