Java Math subtractExact() 使用方法及示例 - Java教程

由网友 大卫 发布 阅读 18

Java Math subtractExact() 使用方法及示例 - Java教程

Java Math 数学方法

Java Math的excludeExact()方法减去指定的数字并返回它。

subtractExact()方法的语法为:

Math.subtractExact(num1, num2)

注意:subtractExact()是静态方法。因此,我们可以使用Math类名来访问该方法。

excludeExact()参数

  • num1 / num2 - 要返回其差值的第一个和第二个值

注意:这两个值的数据类型应为int 或 long。

excludeExact()返回值

  • 返回两个值之间的差

示例1:Java Math.subtractExact()

import java.lang.Math;

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

    //创建int变量
    int a = 54;
    int b = 30;

    //带整型参数的subtractExact()
    System.out.println(Math.subtractExact(a, b));  // 24

    //创建long变量
    long c = 72345678l;
    long d = 17654321l;

    //带long参数的subtractExact()
    System.out.println(Math.subtractExact(c, d));  // 54691357
  }
}

在上面的示例中,我们使用了带有 int 和l ong 变量的Math.subtractExact()方法来计算差值。

示例2:Math.subtractExact()引发异常

如果差值的结果溢出数据类型,则方法excludeExact()会引发异常。 也就是说,结果应在指定变量的数据类型范围内。

import java.lang.Math;

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

    //创建int变量。
    //最大int值
    int a = 2147483647;
    int b = -1;
    //带int参数的subtractExact()
    //引发异常
    System.out.println(Math.subtractExact(a, b));
  }
}

在上述实例中,a的值是最大int值和b的值是-1。当我们减去a和时b,

  2147483647 - (-1)
=> 2147483647 + 1
=> 2147483648      //超出int类型的范围

因此,subtractExact()方法引发整数溢出异常。

推荐的教程

Java Math 数学方法

Java Math multiplyExact() Java Math incrementExact()