Java switch statement with two cases or if statement?
本问题已经有最佳答案,请猛点这里访问。
在Java编程时,使用IF语句或开关语句对于只具有两个结果的东西更为经济。例如:
1 2 3 4 5 6 7 | char c = 'a'; if (c == 'a') { //do something } else if (c == 'A') { //do something else } |
或
1 2 3 4 5 6 7 8 9 10 11 | char c = 'a'; switch (c) { case 'a': //do something break; case 'A': //do something else break; } |
哪个更好?
答案实际上取决于使用的兴趣。通常我做的是,如果我的条件超过(3或以上),我会选择转换。否则我只使用
Java switch statement with two cases or if statement?
对于你的情况,第一个就足够了,如果不是这样的话。如果有更多类似的情况,请选择开关。这就增加了可读性,而不是增加了大量难看的
对于只有两个值的情况,if else语句比switch语句快。但这并不总是正确的,尤其是当您有许多案例需要测试时。您将在此处找到更多信息:
为什么切换比if快
PS:我注意到一件事,但也许这是您的代码所需要的:如果要测试的元素只能有两个值,那么if-else应该比if-else更好。
希望它有帮助。
如果你确定你只有两个选择的话,你可以选择。如果你不确定,这是一个更大的项目,你正在努力,我会去开关箱,因为它更容易添加案件,如果需要的话。
与
除此之外,干净代码p37中的robert martin提出了一个很好的理由,说明为什么