Java Math.addExact() 方法

java.lang.Math.addExact() 返回参数的总和。如果结果溢出int或long,则将引发异常。

1 语法

public static int addExact(int a, int b)   
public static long addExact(long a, long b)  

2 参数

a :第一个值  
b :第二个值 

3 返回值

它返回其参数的总和。   

  • 如果参数之一是Integer.MAX_VALUE或Long.MAX_VALUE,它将引发ArithmeticException。

4 示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        int a = 469;
        int b = 737;
        // //输入两个正值,输出a和b的加法
        System.out.println(Math.addExact(a, b));
    }
}

输出结果为:

1206

5 示例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        long a = 835;
        long b = -1573;
        // 输入两个值,输出a和b的加法
        System.out.println(Math.addExact(a, b));
    }
}

输出结果为:

-738

6 示例3

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        int a = Integer.MAX_VALUE;
        int b = 785;
        // 输入整数溢出,输出AirthmeticException   
        System.out.println(Math.addExact(a, b));
    }
}

输出结果为:

Exception in thread "main" java.lang.ArithmeticException: integer overflow
	at java.lang.Math.addExact(Math.java:790)
	at com.yiidian.Demo.main(Demo.java:13)

7 示例4

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        long a = 25;
        long b = Long.MAX_VALUE;
        // 输入long溢出,输出AirthmeticException
        System.out.println(Math.addExact(a, b));
    }
}

输出结果为:

Exception in thread "main" java.lang.ArithmeticException: long overflow
	at java.lang.Math.addExact(Math.java:809)
	at com.yiidian.Demo.main(Demo.java:13)

 

热门文章

优秀文章