将 long 转换为 int 的Java程序
Long 是比 int 更大的数据类型,我们需要为转换显式执行类型转换。类型转换是通过类型转换运算符执行的。基本上有三种方法可以将 long 转换为 int:
- 通过类型转换
- 使用toIntExact()方法
- 使用 Long 包装类的intValue()方法。
1. 使用显式类型转换
在类型转换中,程序员在程序设计期间使用转换运算符将数据类型转换为另一种数据类型。在类型转换中,当将数据类型转换为另一种数据类型时,目标数据类型可能小于源数据类型,这就是为什么它也称为收缩转换。
语法/声明:
destination_datatype = (target_datatype)variable;
() is a casting operator.
target_datatype:是我们要转换源数据类型的数据类型。
类型转换示例:
float x;
byte y;
...
...
y=(byte)x;
Java
// Java Program to convert long to int
import java.util.*;
class GFG {
public static void main(String[] args)
{
// long value
long longnum = 10000;
// explicit type casting from long to int
int intnum = (int)longnum;
System.out.println("Converted type: "+ ((Object)intnum).getClass().getName());
System.out.println("Converted int value is: "
+ intnum);
}
}
Java
// Java Program to convert long to int
class Main {
public static void main(String[] args) {
// create long variable
long value1 = 523386L;
long value2 = -4456368L;
// change long to int
int num1 = Math.toIntExact(value1);
int num2 = Math.toIntExact(value2);
// print the type
System.out.println("Converted type: "+ ((Object)num1).getClass().getName());
System.out.println("Converted type: "+ ((Object)num2).getClass().getName());
// print the int value
System.out.println(num1); // 52336
System.out.println(num2); // -445636
}
}
Java
// Java Program to convert long to int using intValue()
// method
class GFG {
public static void main(String[] args)
{
// Long object
Long longnum = 100L;
// Converting Long object to int primitive type
int intnum = longnum.intValue();
// printing the type
System.out.println("Converted type: "
+ ((Object)intnum).getClass().getName());
// printing the int value
System.out.println("Converted int value: "
+ intnum);
}
}
输出
Converted type: java.lang.Integer
Converted int value is: 10000
2. 使用toIntExact()方法
句法 :
public static int toIntExact(long value)
范围:
- value :长值
返回:
此方法将输入参数作为 int(integer) 返回。
例外:
它抛出ArithmeticException - 如果结果溢出一个 int
Java
// Java Program to convert long to int
class Main {
public static void main(String[] args) {
// create long variable
long value1 = 523386L;
long value2 = -4456368L;
// change long to int
int num1 = Math.toIntExact(value1);
int num2 = Math.toIntExact(value2);
// print the type
System.out.println("Converted type: "+ ((Object)num1).getClass().getName());
System.out.println("Converted type: "+ ((Object)num2).getClass().getName());
// print the int value
System.out.println(num1); // 52336
System.out.println(num2); // -445636
}
}
输出
Converted type: java.lang.Integer
Converted type: java.lang.Integer
523386
-4456368
3.使用Long包装类的intValue()方法
句法:
public int intValue()
参数:该方法不接受任何参数。
返回值:该方法返回对象转换为整数类型后所代表的数值。
Java
// Java Program to convert long to int using intValue()
// method
class GFG {
public static void main(String[] args)
{
// Long object
Long longnum = 100L;
// Converting Long object to int primitive type
int intnum = longnum.intValue();
// printing the type
System.out.println("Converted type: "
+ ((Object)intnum).getClass().getName());
// printing the int value
System.out.println("Converted int value: "
+ intnum);
}
}
输出
Converted type: java.lang.Integer
Converted int value: 100