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

📅  最后修改于: 2020-09-26 18:53:55             🧑  作者: Mango

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

示例1:使用类型转换将Java long转换为int的Java程序
class Main {
  public static void main(String[] args) {

    // create long variables
    long a = 2322331L;
    long b = 52341241L;

    // convert long into int
    // using typecasting
    int c = (int)a;
    int d = (int)b;

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

在上面的示例中,我们有long型变量ab 。注意行,

int c = (int)a;

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

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


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

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

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(value1)方法将long变量value1转换为int并返回它。

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

// value out of range of int
long value = 32147483648L

// throws the integer overflow exception
int num = Math.toIntExact(value);

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


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

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

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

    // create an object of Long class
    Long obj = 52341241L;

    // convert object of Long into int
    // using intValue()
    int a = obj.intValue();

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

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

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