gpt4 book ai didi

java - 乘法是否可以进行短路评估?

转载 作者:行者123 更新时间:2023-11-29 06:31:05 26 4
gpt4 key购买 nike

假设我在 Java 中有这段代码:

    public static double function(double x, double y, int k) {
return Math.pow(x, 2) + Math.pow(y, 2) + y + k*Math.sqrt(Math.pow(y, x));
}

它在特定点(x,y) 计算一些函数。 注意平方根乘以整数k。在某些情况下,我会给出 k = 0(因为我不需要计算平方根)。它提供了我需要的值但是问题是我正在编写时间敏感的程序,即我会多次调用方法function。所以,如果 k = 0,我希望我的程序不会计算 Math.sqrt(Math.pow(y, x))。我在谷歌上搜索了一下,但似乎没有一个等同于算术的“短路”(好吧,在很多情况下它甚至没有意义,乘法可能是一个排除)操作就像逻辑操作一样.

我怎样才能达到预期的结果?

最佳答案

我认为在末尾添加三元运算符将避免调用 Math.sqrt(Math.pow(y, x)) 计算。如下图

 public static double function(double x, double y, int k) {
return Math.pow(x, 2) + Math.pow(y, 2) + y
+ ( k!=0 ? k*Math.pow(y, x/2) : 0); //ternary operator here
}

关于java - 乘法是否可以进行短路评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767633/

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