【发布时间】:2016-02-19 10:55:36
【问题描述】:
假设我有这段 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))。
我用谷歌搜索了一下,但似乎没有算术的“短路”等价物(嗯,在许多情况下,它甚至没有意义,乘法可能是一个排除项)操作,就像逻辑操作一样.
我怎样才能达到预期的效果?
【问题讨论】:
标签: java math operators shortcut arithmetic-expressions