Long 是比 int 更大的数据类型,我们需要显式地执行类型转换来进行转换。类型转换是通过类型转换运算符执行的。本质上有三种方法可以将 long 转换为 int:
- 由 type-casting
- 使用 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);
}
}
输出
Converted type:java.lang.Integer Converted int value is:10000
2.使用Java Math toIntExact(long value)用法及代码示例方法
用法:
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.使用Java Integer intValue()用法及代码示例Long包装类的方法
用法:
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
相关用法
- Java TimeZone getOffset(int, int, int, int, int, int)用法及代码示例
- Java ZoneOffset ofHoursMinutesSeconds(int, int, int)用法及代码示例
- Java SimpleTimeZone setStartRule(int, int, int)用法及代码示例
- Java SimpleTimeZone setEndRule(int, int, int)用法及代码示例
- Java HijrahDate of(int, int, int)用法及代码示例
- Java JapaneseDate of(int, int, int)用法及代码示例
- Java JapaneseDate of(JapaneseEra,int, int, int)用法及代码示例
- Java MinguoChronology date(int, int, int)用法及代码示例
- Java MinguoDate of(int, int, int)用法及代码示例
- Java ThaiBuddhistChronology date(int, int, int)用法及代码示例
- Java JapaneseChronology date(int, int, int)用法及代码示例
- Java IsoChronology date(int, int, int)用法及代码示例
- Java int转long用法及代码示例
- Java Math addExact(long x, long y)用法及代码示例
- Java Math subtractExact(long x, long y)用法及代码示例
- Java Longs.checkedSubtract(long a, long b)用法及代码示例
- Java Duration ofSeconds(long, long)用法及代码示例
- Java Guava LongMath gcd(long a, long b)用法及代码示例
- Java Guava LongMath mean(long x, long y)用法及代码示例
- Java Guava LongMath mod(long x, long m)用法及代码示例
- Java LongMath.checkedAdd(long a, long b)用法及代码示例
- Java Longs.indexOf(long[] array, long[] target)用法及代码示例
- Java LongMath.divide(long, long, RoundingMode)用法及代码示例
注:本文由纯净天空筛选整理自lavishgarg26大神的英文原创作品 Java Program to Convert long to int。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。