Java Math decrementExact()方法
java.strictmath.lang.decrementExact()是java中的一个内置函数,它返回参数的递减量,如果结果溢出指定的数据类型,则抛出一个异常,要么是long,要么是int,取决于方法参数上使用的数据类型。由于这是一个递减法,如果结果小于最小值,我们就会遇到异常。最小值可以从Long.MIN_VALUE或Integer.MIN_VALUE导出。
语法
int decrementExact(int num)
long decrementExact(long num)
参数: 该函数接受一个强制性的参数,如上图所示,描述如下:
num – 该参数指定了要被递减的数字。
返回值: 该函数返回减去1的参数,如果结果溢出指定的数据类型,则抛出一个异常,这取决于方法参数使用的数据类型是long还是int。
例子
Input : 12
Output : 11
Input : -3
Output : -4
程序1: 演示功能工作的程序
// Java program to demonstrate working
// of java.lang.Math.decrementExact() method
import java.lang.Math;
class Gfg1 {
// driver code
public static void main(String args[])
{
int y = 12;
System.out.println(Math.decrementExact(y));
int x = -3;
System.out.println(Math.decrementExact(x));
}
}
输出
11
-4
程序2: 演示函数中溢出的程序
// Java program to demonstrate overflow
// of java.lang.Math.decrementExact() method
import java.lang.Math;
class Gfg1 {
// driver code
public static void main(String args[])
{
int y = Integer.MIN_VALUE;
System.out.println(Math.decrementExact(y));
}
}
输出
Exception in thread "main" java.lang.ArithmeticException: integer overflow
at java.lang.Math.decrementExact(Math.java:943)
at Gfg1.main(File.java:12)