Java copySign 函数是 Math 库中的一个函数,用于查找第一个参数的绝对值。此 copysign 函数返回绝对值以及第二个参数指定的符号。
Java copySign 函数语法
此编程语言中 Math.copySign 函数的基本语法如下所示
Math.copySign(data_type magnitude, data_type sign);
- magnitude:请在此处指定幅度值。该函数将查找此参数的绝对值。如果您发现理解绝对值有困难,请参阅 Java abs 方法 文章。
- sign:请在此处指定符号值。此函数使用此参数的符号(正或负)并返回输出。
例如,如果 magnitude = 10.45 且 sign = – 5.40,则 Math.copySign(10.45, -5.40) = -10.45。这是因为 10.45 的绝对值是 10.45,第二个参数的符号是负数。因此,输出为 -10.45
Java 编程提供了两种不同的 Math.copySign 函数来查找给定两个参数中的最大值或最大值。下面的 copySign 函数将接受正数或负数的双精度值作为第一个和第二个参数,并返回具有第二个参数指定符号的第一个浮点值。
static double copySign(double magnitude, double sign); //Return Type is double // In order to use in program: Math.copySign(double magnitude, double sign);
它接受正数或负数的单精度值,并返回具有第二个参数指定符号的第一个浮点值。
static float copySign(float magnitude, float sign); //Return Type is float // In order to use in program: Math.copySign(float magnitude, float sign);
Java copySign 函数示例
在此示例中,我们使用 math.copySign 函数来查找不同数据类型的绝对值,并显示带有符号的输出。
package MathFunctions;
public class CopySign {
public static void main(String[] args) {
double b = 10.9666, c = 14.6674, d = -9.474, e = -14.9865;
float g = 1.23f, h = 4.809f, i = -7.89f, j = -6.54f;
System.out.println("CopySign result of Positive Values: " + Math.copySign(10, 20));
System.out.println("CopySign result of Negative Values: " + Math.copySign(-10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(-5, 10));
System.out.println("\nCopySign result of Positive Doubles: " + Math.copySign(b, c));
System.out.println("CopySign result of Negative Double Values: " + Math.copySign(d, e));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(c, d));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(e, b));
System.out.println("\nCopySign result of Positive Float Values: " + Math.copySign(g, h));
System.out.println("CopySign result of Negative Float Values: " + Math.copySign(i, j));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(h, i));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(j, h));
}
}

我们直接对正数和负数使用了 Math.copySign 函数。
System.out.println("CopySign result of Positive Values: " + Math.copySign(10, 20));
System.out.println("CopySign result of Negative Values: " + Math.copySign(-10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(-5, 10));
接下来,我们将 Java 函数用于变量 b、c、d 和 e(它们属于双精度类型)。以下语句将调用双精度类型的方法(static double copySign(double magnitude, double sign))来显示结果。
System.out.println("\nCopySign result of Positive Doubles: " + Math.copySign(b, c));
System.out.println("CopySign result of Negative Double Values: " + Math.copySign(d, e));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(c, d));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(e, b));
接下来,我们将 Math 函数用于变量 g、h、i 和 j(它们属于单精度类型)。以下语句调用单精度类型的方法(static float copySign(float magnitude, float sign))来显示结果。
System.out.println("\nCopySign result of Positive Float Values: " + Math.copySign(g, h));
System.out.println("CopySign result of Negative Float Values: " + Math.copySign(i, j));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(h, i));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(j, h));