Java 我为什么要学习;开关箱“;什么时候;如有其他",;已经存在
可能重复:Java 我为什么要学习;开关箱“;什么时候;如有其他",;已经存在,java,c++,c,coding-style,Java,C++,C,Coding Style,可能重复: 我目前正在学校学习“切换案例”,我想知道当“如果其他”已经存在时,学习它有什么意义。“if-else”基本上是“switch-case”的另一种方式 如果我错了,请纠正我。您应该学习开关构造,因为它是C语言提供的有用工具 它与if-else块不同 在你问题的评论部分,有到现有答案的链接,解释差异是什么 每种结构都有它的优点和缺点,随着时间的推移,您将学会选择一种结构而不是另一种结构。您应该学习开关结构,因为它是C语言提供的有用工具 它与if-else块不同 在你问题的评论部分,有
我目前正在学校学习“切换案例”,我想知道当“如果其他”已经存在时,学习它有什么意义。“if-else”基本上是“switch-case”的另一种方式
如果我错了,请纠正我。您应该学习
开关
构造,因为它是C语言提供的有用工具
它与if-else
块不同
在你问题的评论部分,有到现有答案的链接,解释差异是什么
每种结构都有它的优点和缺点,随着时间的推移,您将学会选择一种结构而不是另一种结构。您应该学习
开关
结构,因为它是C语言提供的有用工具
它与if-else
块不同
在你问题的评论部分,有到现有答案的链接,解释差异是什么
每种结构都有它的优点和缺点,随着时间的推移,当选择一种结构比另一种结构更合适时,你会学到这两种结构。你应该同时学习这两种结构。虽然在技术上可以使用
开关实现任何if
/else
序列,反之亦然,但这样做将是非常糟糕的做法。。。在大多数情况下
因此,你需要学习这两种结构,了解它们的优缺点,并学会运用你的判断来判断何时适合使用它们
<>和C和C++和java(以及C和Pascal等许多语言)都支持交换语句的事实应该告诉你它的有用性……< /P> < P>你应该同时学习这两个语句。虽然在技术上可以使用开关实现任何if
/else
序列,反之亦然,但这样做将是非常糟糕的做法。。。在大多数情况下
因此,你需要学习这两种结构,了解它们的优缺点,并学会运用你的判断来判断何时适合使用它们
<>和C和C++和java(以及C和Pascal等许多语言)都支持交换语句的事实应该告诉你它的有用性……< P/> < P> >有点怀旧。实际上,他们两人“看起来”一样。但是当代码被执行时会有一点不同
首先,“开关箱”仅用于比较数值。但是“if-else”可以处理布尔表达式(这将支持更复杂的子句)
如果在找到实际要搜索的内容时使用常规的“If-else”,则进程仍将运行,直到完成最后一个If的处理为止(但实际上它可以使用跳转技术来具有类似于“switch-case”的机制)
如果使用“switch case”,则不会发生这种情况,因为一旦找到要搜索的值,它将中断,并且不会继续到下一个案例。此外,“switch case”的处理速度比if-else快,因为它只比较定义的值(而不是表达式)。“switch case”还有一个很好的格式结构(它简单、紧凑、可读且干净)。听到它有点怀旧。实际上,他们两人“看起来”一样。但是当代码被执行时会有一点不同
首先,“开关箱”仅用于比较数值。但是“if-else”可以处理布尔表达式(这将支持更复杂的子句)
如果在找到实际要搜索的内容时使用常规的“If-else”,则进程仍将运行,直到完成最后一个If的处理为止(但实际上它可以使用跳转技术来具有类似于“switch-case”的机制)
如果使用“switch case”,则不会发生这种情况,因为一旦找到要搜索的值,它将中断,并且不会继续到下一个案例。此外,“switch case”的处理速度比if-else快,因为它只比较定义的值(而不是表达式)。“switch case”还有一个很好的格式结构(它简单、紧凑、可读性强、清晰)。工具越多越好。直截了当地说出为什么你应该知道这两个。。。然而,更详细的例子是:
switch语句作用于构造的单一类型变量:
variable == value
例如,在C语言中,如果你试图通过比较一些不同的字符串来做出决定,你不能用开关来做。在这种情况下,您需要了解if/else构造
但是,如果您有大量的顺序检查:
var == 1 or
var == 2 or
var == 3 etc
编译器可能会将switch语句转换为跳转表,这将比if/else列表的大量比较更快 工具越多越好。直截了当地说出为什么你应该知道这两个。。。然而,更详细的例子是:
switch语句作用于构造的单一类型变量:
variable == value
例如,在C语言中,如果你试图通过比较一些不同的字符串来做出决定,你不能用开关来做。在这种情况下,您需要了解if/else构造
但是,如果您有大量的顺序检查:
var == 1 or
var == 2 or
var == 3 etc
编译器可能会将switch语句转换为跳转表,这将比if/else列表的大量比较更快 开关箱
和if-else
结构之间的差异:
Switch case只打开值,不计算布尔表达式
如果在案例块之后不使用break
,则Switch case会自动执行其下方的下一个案例。此功能有时对编写复杂代码很有用,如“电话拨号计划”
西南