Java 程序用于减去长整数并检查溢出


要检查是否发生长整型溢出,我们需要将 Long.MAX_VALUE 与所减去的长结果进行比较。此处,Long.MAX_VALUE 是 Java 中长整型类型的最大值。

让我们看一个示例,其中会减去长整型,如果结果仍然大于 Long.MAX_VALUE,则会引发异常 −

以下是一个示例,展示了如何检查是否发生长整型溢出 −

示例

 现场演示

public class Demo {
   public static void main(String[] args) {
      long val1 = 70123;
      long val2 = 10567;
      System.out.println("Value1: "+val1);
      System.out.println("Value2: "+val2);
      long diff = val1 - val2;
      if (diff > Long.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      // displaying subtraction
      System.out.println("Subtraction Result: "+diff);
   }
}

输出

Value1: 70123
Value2: 10567
Subtraction Result: 59556

在上述示例中,我们采用了以下两个整数 −

long val1 = 70123;
long val2 = 10567;

现在我们将执行减法 −

long diff = val1 - val2;

如果结果仍然大于最大值,则会引发异常 −

If (diff > Long.MAX_VALUE) {
   throw new ArithmeticException("Overflow!");
}

更新于: 30-Jul-2019

693 次浏览

你的职业 之路

通过完成课程获取认证

开始
广告