首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个更好的开关语句或如果-else语句?

哪个更好的开关语句或如果-else语句?
EN

Stack Overflow用户
提问于 2010-04-22 15:36:59
回答 2查看 6.7K关注 0票数 1

可能重复:

is “else if” faster than “switch() case” ?

What is the relative performance difference of if/else versus switch statement in Java?

我只是想知道一个人是否更好(即更有效率)。在我看来,这似乎与语法不同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-22 15:41:31

编译器可以为某些类型的switch语句创建一个跳转表,这比只计算每个元素(比如嵌套的if语句集)更有效。这取决于开关的类型和您正在使用的语言,但是许多C编译器在代码生成中就是这样。

因此,简短的是,一个开关可以是更有效的,但它取决于您的特定用途。

票数 3
EN

Stack Overflow用户

发布于 2010-04-22 15:48:31

除非你有很多案子,否则没关系。如果有很多种情况,则切换更好,因为编译器为项生成一个跳转表,所以查找是在O(1)而不是O(#case)中完成的。我还认为,一个开关比一个如果-其他-如果链更易读。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2692234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档