gpt4 book ai didi

java - 为什么一个代码比另一个更受青睐?或者有什么关系

转载 作者:行者123 更新时间:2023-11-30 04:11:59 24 4
gpt4 key购买 nike

我只是想知道这些代码中的一个是否比另一个更受青睐。

例如:

boolean even;

if (number % 2 == 0)
even = true;
else
even = false;

备用代码:

boolean even = (number % 2 == 0);

我认为其中一个比另一个更受欢迎,因为一个更短,但我觉得第一个代码更容易阅读(作为初学者)。我只是想知道真正的答案,为什么一个比另一个更受青睐,或者即使一个比另一个更受青睐?

最佳答案

我会选择第二个,因为你避开了分支。在第一种情况下,您有一个 if-else 结构。这意味着您的代码中有一个分支。第二个示例代码中没有分支,这提高了可读性。

正如 @Dev 指出的,当你将 Java 源代码编译为字节码时,不幸的是它会生成一个分支。

从技术上讲,编译器可以选择在汇编中执行类似的操作:

TEST eax   ; test for zero of "number % 2"
PUSHF ; push flag-registers to the stack
POP ebx ; pop them into a register
SHR ebx,?? ; shift to the FZ flag
AND ebx,1 ; cancel out the other flags

但是,这只是一种可能性,很可能并非如此。

关于java - 为什么一个代码比另一个更受青睐?或者有什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19386648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com