效率?这些代码之间有什么区别?

时间:2012-05-22 00:27:24

标签: java

  

可能重复:
  Is there a difference between i==0 and 0==i?

以下编码样式有什么好处,它们之间有什么区别吗?

int i;

// more code



if (i == 0) {...}

VS

if (0 == i) {...}

谢谢

3 个答案:

答案 0 :(得分:3)

完全没有区别。

我总是发现后一个例子的可读性较差,我很少看到它,但有些人似乎喜欢它。

答案 1 :(得分:2)

没有区别,选择一个并坚持下去以保持一致性。 (value == variable)是来自较旧语言的遗物,您可能会意外地将值分配给if (a = 0)中的变量,而不是(a == 0)

它们都会变成(有效)相同的机器指令,因此根本不会有任何性能差异

答案 2 :(得分:2)

效率没有区别,但这种风格是可读性的首选:

if (i == 0) {...}

另一个版本if (0 == i) {...}Yoda condition的示例,它被认为是一种糟糕的编程习惯。引用链接:

  

“Yoda Conditions” - 使用if(constant == variable)而不是if(variable == constant),如if(4 == foo)。因为它就像是说“如果蓝色是天空”或“如果高大就是男人”。

enter image description here

相关问题