【发布时间】:2017-05-26 20:56:56
【问题描述】:
这一直困扰着我一段时间,我不确定是否有正确的答案:
取这两条语句
if(foo == bar)
do this;
else if(foo != bar)
do that;
或
if(foo != bar)
do that;
else if(foo == bar)
do this;
其中哪一项是正确的(暂时忘记优化) 我的想法告诉我,答案取决于预期的结果,例如,如果它在循环中运行,并且我预测 foo 将等于 bar 的次数多于它不是的次数,那么第一个是正确的。
符号之间是否有任何效率影响?
【问题讨论】:
-
让 JITC 担心优化级别。担心是什么让你的代码最易读。
-
同意。更具可读性的代码。这基本上等于用于比较的特定数据。如果您主要拥有姓名数据库,并且大多数是约翰的.. 并且您对非约翰更好奇,您会使用 != "John" .. 反之亦然。
-
这是一般规则,不只是在这个粒度级别。首先是人类可理解性的代码;电脑比你想象的要快。
-
为什么不用
else而不是else if? -
@LouisWasserman 因为可能涉及更多变量,认为您错过了问题的重点
标签: java android if-statement operators