Java 基础教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序将long类型变量转换为int

    Java 实例大全

在此程序中,我们将学习在Java中将long变量转换为整数(int)。

要理解此示例,您应该了解以下Java编程主题:

示例1:使用类型转换将long转换为int的Java程序

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

    //创建 long 类型变量
    long a = 2322331L;
    long b = 52341241L;

    //将 long 转换为 int
    //使用类型转换
    int c = (int)a;
    int d = (int)b;

    System.out.println(c);    // 2322331
    System.out.println(d);    // 52341241
  }
}

在上面的示例中,我们有long类型变量 a 和 b。注意行,

int c = (int)a;

在此,较高的数据类型long将转换为较低的数据类型int。因此,这称为窄化类型转换。要了解更多信息,请访问Java 类型转换

当long 变量的值小于或等于int(2147483647)的最大值时,此过程工作正常。但是,如果long变量的值大于最大值int,则数据将丢失。

示例2:使用toIntExact()将long转换为int

我们还可以使用类的toIntExact()方法Math将long值转换为int。

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

    //创建 long 类型变量
    long value1 = 52336L;
    long value2 = -445636L;

    //将 long 转换为 int
    int num1 = Math.toIntExact(value1);
    int num2 = Math.toIntExact(value2);

    //打印int值
    System.out.println(num1);  // 52336
    System.out.println(num2);  // -445636
  }
}

在此,Math.toIntExact(value1)方法将long变量value1转换为int,并返回它。

如果返回的int 值不在int 数据类型的范围内,则toIntExact() 方法将抛出异常  。如下所示,

//值超出整数范围
long value = 32147483648L

//抛出整数溢出异常
int num = Math.toIntExact(value);

要了解有关toIntExact()方法的更多信息,请访问Java Math.toIntExact()

示例3:将Long类的对象转换为int

在Java中,我们还可以将包装类的对象 Long 转换为 int。为此,我们可以使用 intValue() 方法。例如,

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

    // 创建一个Long类的对象
    Long obj = 52341241L;

    //将Long对象转换为int
    // 使用 intValue()方法
    int a = obj.intValue();

    System.out.println(a);    // 52341241
  }
}

在这里,我们创建了一个名为的Long类的对象obj。然后,我们使用该ntValue()方法将对象转换为int类型。

要了解有关包装器类的更多信息,请访问Java包装类

Java 实例大全