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

Java 效率这些代码之间有什么区别吗?,java,Java,可能重复: 下面的编码风格有什么好处,它们之间有什么区别吗 int i; // more code if (i == 0) {...} vs 谢谢没什么不同,选择一个,并坚持它的一致性。(value==variable)是旧语言的遗物,在旧语言中,您可能会意外地在if(a=0)中为变量赋值,而不是(a==0) 它们都将(有效地)转换为相同的机器指令,因此不会有任何性能差异没有差异,选择一个并坚持使用它以保持一致性。(value==variable)是旧语言的遗物,在旧语言中,您可能会

可能重复:

下面的编码风格有什么好处,它们之间有什么区别吗

int i;

// more code



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


谢谢

没什么不同,选择一个,并坚持它的一致性。
(value==variable)
是旧语言的遗物,在旧语言中,您可能会意外地在if
(a=0)
中为变量赋值,而不是
(a==0)


它们都将(有效地)转换为相同的机器指令,因此不会有任何性能差异

没有差异,选择一个并坚持使用它以保持一致性。
(value==variable)
是旧语言的遗物,在旧语言中,您可能会意外地在if
(a=0)
中为变量赋值,而不是
(a==0)

它们都将(有效地)转换为相同的机器指令,因此不会有任何性能差异

我总是觉得后一个例子不太可读,我很少看到它,但有些人似乎喜欢它

完全没有区别


我总是觉得后一个例子不太可读,我很少看到它,但有些人似乎喜欢它

效率没有差别,但为了可读性,首选这种样式:

if (i == 0) {...}
另一个版本,
if(0==i){…}
就是一个例子,它被认为是一种糟糕的编程实践。引用链接:

“Yoda条件”-使用if(常量==变量)代替if(变量==常量),如if(4==foo)。因为这就像说“如果蓝色是天空”或“如果高大是男人”


效率没有差别,但为了可读性,首选这种样式:

if (i == 0) {...}
另一个版本,
if(0==i){…}
就是一个例子,它被认为是一种糟糕的编程实践。引用链接:

“Yoda条件”-使用if(常量==变量)代替if(变量==常量),如if(4==foo)。因为这就像说“如果蓝色是天空”或“如果高大是男人”



一本很容易阅读。。另一种是无。不,第二种样式称为“Yoda conditional”。比较就是这么简单的比较。所以据我理解,
2nd
样式的唯一目标是
防御性编程
。一种易于阅读。。另一种是无……不,第二种风格叫“Yoda conditional”。比较就是这么简单的比较。所以根据我的理解,
2nd
风格的唯一目标是
防御性编程
。在Java中,不可能在if语句中赋值?@omnipotenentity该问题也被标记为“c”,事实就是如此!在这种情况下,这个答案是错误的,特别是这部分:<代码>是旧语言中的一个遗物,在这里你可以意外地给IF(a=0)中的变量赋值,而不是(A==0)< /Cord> @ OmnipotentEntity,你是对的,但是在C和C++中是可能的,所以这个约定在那里被使用。公约移植到其他语言,即使它是不需要的。不管怎样,大多数现代编译器现在都会对此发出警告,但这肯定是一个代码风格问题,而不是性能问题。这是一个合法的问题,因为我的印象是,可以在Java中的if语句中赋值。我发现在Java中不可能做到这一点的暗示令人惊讶,但我并不完全确定,所以我先问了一下在Java中,不可能在if语句中赋值?@OmnipotentEntity该问题也被标记为“c”,事实就是如此!在这种情况下,这个答案是错误的,特别是这部分:<代码>是旧语言中的一个遗物,在这里你可以意外地给IF(a=0)中的变量赋值,而不是(A==0)< /Cord> @ OmnipotentEntity,你是对的,但是在C和C++中是可能的,所以这个约定在那里被使用。公约移植到其他语言,即使它是不需要的。不管怎样,大多数现代编译器现在都会对此发出警告,但这肯定是一个代码风格问题,而不是性能问题。这是一个合法的问题,因为我的印象是,可以在Java中的if语句中赋值。我发现在Java中不可能做到这一点的暗示令人惊讶,但我并不完全确定,所以我先问了一下仅供参考,您的链接是已删除的帖子,10k代表以下的用户不可见仅供参考,您的链接是已删除的帖子,10k代表以下的用户不可见