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交换机具有不允许长的逻辑规则。
浮点型:浮点型无法精确比较,由于精度问题。
由此,笔者大致猜测可能switch比较不适用于那些位数较长的数据,或是不确定如浮点数。
另外switch不支持boolean,但是完全可以使用int 0 1 代替;
关于执行过程:
凡是遇到break语句,必定跳出当前switch语句;
若是特殊情况case和default都没有break语句,上代码:
但是如果表达式对应的case语句移位:
就会直接命中对应的case语句,然后再按照从左往右,从上往下的顺序执行代码,即使default也不例外:
上一篇: 腹泻如何食补比较好
下一篇: java中的switch语句