我是靠谱客的博主 曾经鞋子,这篇文章主要介绍Java基础篇:嵌套 switch 语句,现在分享给大家,希望可以做个参考。

可以将一个switch语句作为一个外部switch语句的语句序列的一部分,这称为嵌套switch语句。因为一个switch语句定义了自己的块,外部switch语句和内部switch语句的case常量不会产生冲突。例如,下面的程序段是完全正确的:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
switch(count) { case 1: switch(target) { // nested switch case 0: System.out.println("target is zero"); break; case 1: // no conflicts with outer switch System.out.println("target is one"); break; } break; case 2: // ...

本例中,内部switch语句中的 case 1:语句与外部switch语句中的case 1:语句不冲突。
变量count仅与外层的case语句相比较。如果变量count为1,则变量target与内层的case语句相比较。
概括起来说,switch语句有3个重要的特性需注意:
· switch语句不同于if语句的是switch语句仅能测试相等的情况,而if语句可计算任何类型的布尔表达式。也就是switch语句只能寻找case常量间某个值与表达式的值相匹配。
· 在同一个switch语句中没有两个相同的case常量。当然,外部switch语句中的case常量可以和内部switch语句中的case常量相同。
· switch语句通常比一系列嵌套if语句更有效。
最后一点尤其有趣,因为它使我们知道Java编译器如何工作。当编译一个switch语句时,Java编译器将检查每个case常量并且创造一个“跳转表”,这个表将用来在表达式值的基础上选择执行路径。因此,如果你需要在一组值中做出选择,switch语句将比与之等效的if-else语句快得多。编译器可以这样做是因为它知道case常量都是同类型的,所要做的只是将它与switch表达式相比较看是否相等。对于一系列的if表达式,编译器就无此功能。

最后

以上就是曾经鞋子最近收集整理的关于Java基础篇:嵌套 switch 语句的全部内容,更多相关Java基础篇:嵌套内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部