跳到主要内容

Java Math multiplyExact() 方法

multiplyExact() 方法的语法是:

Math.multiplyExact(num1, num2)

这里,multiplyExact() 是一个静态方法。因此,我们通过类名 Math 来访问这个方法。

multiplyExact() 参数

multiplyExact() 方法接受两个参数。

  • num1 - 与 num2 相乘的值
  • num2 - 与 num1 相乘的值

注意:这两个值的数据类型应该是 intlong

multiplyExact() 返回值

  • 返回 num1num2 的乘积

示例 1:Java Math multiplyExact()

import java.lang.Math;

class Main {
public static void main(String[] args) {

// 创建 int 变量
int a = 5;
int b = 6;

// 使用 int 参数的 multiplyExact()
System.out.println(Math.multiplyExact(a, b)); // 30

// 创建 long 变量
long c = 7236L;
long d = 1721L;

// 使用 long 参数的 multiplyExact()
System.out.println(Math.multiplyExact(c, d)); // 12453156
}
}

在上面的示例中,我们使用了 intlong 类型变量的 Math.multiplyExact() 方法来计算相应数字的乘积。

示例 2:Math multiplyExact() 抛出异常

如果乘法结果超出数据类型的范围,multiplyExact() 方法会抛出异常。也就是说,结果应该在指定变量的数据类型范围内。

import java.lang.Math;

class Main {
public static void main(String[] args) {

// 创建 int 变量
// int 的最大值
int a = 2147483647;
int b = 2;

// 使用 int 参数的 multiplyExact()
// 抛出异常
System.out.println(Math.multiplyExact(a, b));
}
}

在上面的示例中,a 的值是 int 的最大值,b 的值是 2。当我们将 ab 相乘时,

  2147483647 * 2
=> 4294967294 // 超出 int 类型的范围

因此,multiplyExact() 方法抛出了 整数溢出 异常。

推荐教程