gpt4 book ai didi

java - If 语句中的可执行语句

转载 作者:行者123 更新时间:2023-12-02 20:09:34 25 4
gpt4 key购买 nike

有一个解释代码可以解释我想要问的问题。当然,下面的代码之间的差异是可以忽略的,但它描述了要点。

哪一个在内存使用和性能方面最有效?

if( MathUtil.CalculateSin(angle) > Angles.ACUTE){
// Something is done
}

double angleSin = MathUtil.CalculateSin(angle);

if( angleSin > Angles.ACUTE){
// Something is done
}

最佳答案

这仅取决于您是否要重新使用该变量。

  • 如果是,请使用第二种情况。
  • 如果不使用第一种情况。

如果您不打算重复使用该值,则没有理由将其存储在变量中。

编辑:

根据您的评论,看来您问这个问题主要是出于性能问题......

Actually my question is not about the algorithm nor the way I implement it. I'm curious about the memory usage of the approaches, therefore efficiency is the purpose.

不要期望这两种方法在内存使用方面有任何差异,JVM 和 JIT 会尽可能对其进行优化,以便两种情况变得相同。

关于java - If 语句中的可执行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30483203/

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