当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Math subtractExact()用法及代码示例


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

用法:

Math.subtractExact(num1, num2)

在这里,subtractExact() 是一个静态方法。因此,我们使用类名 Math 访问该方法。

参数:

subtractExact() 方法采用两个参数。

  • num1- 从中的价值num2被减去
  • num2- 减去的值num1

注意: 两个值的数据类型应该是int或者long.

返回:

  • 返回 num1num2 之间的差异

示例 1:Java 数学。subtractExact()

import java.lang.Math;

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

    // create int variable
    int a = 54;
    int b = 30;

    // subtractExact() with int arguments
    System.out.println(Math.subtractExact(a, b));  // 24

    // create long variable
    long c = 72345678l;
    long d = 17654321l;

    // subtractExact() with long arguments
    System.out.println(Math.subtractExact(c, d));  // 54691357
  }
}

在上面的示例中,我们使用了Math.subtractExact() 方法和intlong 变量来计算差异。

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

如果差异的结果溢出数据类型,则方法subtractExact() 将引发异常。即结果应在指定变量的数据类型范围内。

import java.lang.Math;

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

    // create int variable
    // maximum int value
    int a = 2147483647;
    int b = -1;

    // subtractExact() with int arguments
    // throws exception
    System.out.println(Math.subtractExact(a, b));
  }
}

在上面的例子中,值a是最大值int价值和价值b-1.当我们减去ab,

2147483647 - (-1)
=> 2147483647 + 1
=> 2147483648      // out of range of int type

因此,subtractExact() 方法会引发 integer overflow 异常。

相关用法


注:本文由纯净天空筛选整理自 Java Math subtractExact()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。