📜  Java数学toIntExact()

📅  最后修改于: 2020-09-27 02:23:44             🧑  作者: Mango

Java Math toIntExact()方法从指定的long参数返回int值。

toIntExact()方法的语法为:

Math.toIntExact(long value)

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


toIntExact()参数

toIntExact()方法采用单个参数。

  • -要作为int返回的参数

toIntExact()返回值
  • 从指定的long值返回int

示例1:Java Math.toIntExact()
class Main {
  public static void main(String[] args) {

    // create long variable
    long value1 = 52336L;
    long value2 = -445636L;

    // change long to int
    int num1 = Math.toIntExact(value1);
    int num2 = Math.toIntExact(value2);

    // print the int value
    System.out.println(num1);  // 52336
    System.out.println(num2);  // -445636
  }
}

在上面的示例中,我们使用Math.toIntExact()方法从指定的long变量中获取一个int值。


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

如果返回的int值不在int数据类型范围内,则toIntExact()方法将引发异常。

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

    // create a long variable
    long value = 32147483648L;

    // convert long into int
    int num = Math.toIntExact(value);
    System.out.println(num);
  }
}

在上面的示例中, long变量的值为32147483648 。当我们将long变量转换为int ,结果值超出了int数据类型的范围。

因此, toIntExact()方法将引发integer overflow异常。


推荐的教程

  • Math.addExact()
  • Math.incrementExact()