您好>出于兴趣,在使用java编程时,使用if语句或switch语句对于只能有两个结果的东西会更经济。
例如:
char c = 'a';
if (c == 'a') {
//do something
}
else if (c == 'A') {
//do something else
}
或
char c = 'a';
switch (c) {
case 'a':
//do something
break;
case 'A':
//do something else
break;
}
哪个会更好?
答案 0 :(得分:2)
答案实际上取决于使用的兴趣。我通常做的是,如果我的条件更多(3或以上),我会选择转换。否则,我只需使用if-else-if
。
Java switch语句有两种情况还是if语句?
对于你的情况,第一个足够好, if else 。如果有更多这样的情况,请选择开关。这增加了可读性与丑陋的好if else's
。
答案 1 :(得分:1)
如果您确定自己只有两个选项,请使用if else。 如果您不确定这是一个更大的项目,我会选择切换案例,因为如果需要,它更容易添加案例。
答案 2 :(得分:1)
在您的情况下,只有两个值,if-else语句比switch语句快。 但并非总是如此,特别是当你有很多案例需要测试时。 您可以在此处找到更多信息:
PS:我注意到了一件事,但也许你的代码需要它:如果要测试的元素只能有两个值, if-else 应该优于 if-else如果强>希望它有所帮助。
答案 3 :(得分:0)
switch
语句通常被认为比if-else
更容易出错,即忘记default
个案或break
。在短条件的情况下说两个结果if-else
可能更可取,速度不太可能有任何可辨别的差异。
除此之外,清洁代码 p37 中的 Robert Martin 提出了一个很好的论据,为什么switch
语句不是非常OOP。< / p>