在实现if else进行比较时,我应该首先使用!=或==

Rob*_*b85 3 java android if-statement operators

这已经困扰了我一段时间,我不确定是否有正确的答案:

拿这两个陈述

if(foo == bar)
    do this;
else if(foo != bar)
    do that;
Run Code Online (Sandbox Code Playgroud)

要么

if(foo != bar)
    do that;
else if(foo == bar)
    do this;
Run Code Online (Sandbox Code Playgroud)

其中一个是正确的(暂时忘记优化)我的头脑告诉我,答案取决于预期的结果,例如,如果这是在一个循环中运行,我预测foo将等于bar的次数比不是然后第一个是正确的.

这些符号之间是否存在任何效率问题?

Ell*_*sch 5

但这些符号之间是否存在任何效率问题?没有.没有.喜欢最具可读性的.如果a在一个句子中更好地说"如果不是",请使用!.否则,不要.

  • 条件可能有副作用.在这种情况下,不是从效率的角度来看,而是为了防止错误的结果.所以`if((nr = in.read(...))<0){ignore(); } else if(nr == 0){...} else {...}`如果改变条件的顺序将不起作用. (2认同)