Why should I learn “switch case” when “if else” already exists
Possible Duplicate:
Advantage of switch over if-else statement
Why Switch/Case and not If/Else If?
我目前正在学校学习"转换案例",我想知道当"如果还有其他的"已经存在时,学习它的意义是什么。"如果是",基本上是另一种方式做"开关箱"。
如果我错了,请纠正我。
听到它有点怀旧。实际上,他们两个看起来是一样的。但代码执行时有点不同。
首先,"开关盒"只用于比较值。但是"if else"可以处理布尔表达式(这将支持更复杂的子句)
如果在找到实际搜索的内容后使用常规"if else",则在最后一个if完成处理之前,进程仍将运行(但实际上,它可以使用跳转技术来具有类似的机制,如"switch case"。)如果使用"switch case",则不会发生这种情况,因为一旦找到要搜索的值,它将中断,并不会继续下一个案例。此外,"switch case"的处理速度比"if else"快,因为它只比较定义的值(而不是表达式)。"开关盒"也有一个良好的格式结构(它简单、紧凑、可读、干净)。
工具越多越好。把你为什么要知道这两个的最好的陈述说清楚…然而,一个更详细的例子-
switch语句用于构造的单个变量类型:
1 | variable == value |
例如,在C语言中,如果您试图将某些内容与几个不同的字符串进行比较,以便做出决定,那么就不能使用开关来实现这一点。在这种情况下,您需要了解if/else构造。
但是,如果您有大量的顺序检查:
1 2 3 | var == 1 or var == 2 or var == 3 etc |
编译器可能会获取switch语句并将其转换为跳转表,这将比大量if/else列表的比较更快。
你应该同时学习。虽然在技术上可以用
因此,你需要学习这两种结构,了解它们的优点和缺点,并学会运用你的判断来判断何时使用它们是合适的。
事实上,C和C++和Java(以及C和Pascal等许多语言)都支持交换语句应该告诉你一些有用的东西…
您应该学习
它与
在问题的"注释"部分中,有指向现有StackOverflow答案的链接,这些答案解释了不同之处。
每一个结构都有其优点和缺点,随着时间的推移,您将了解何时选择一个结构比另一个结构更合适。