Java 数据类型可以分为原始数据类型和非原始数据类型。原始数据类型包含单个值,而非原始数据类型包含变量值的地址。 Java 支持 7 种基本数据类型 - boolean、byte、char、short、int、long、float、double。这些数据类型在存储在内存中时需要不同的空间量。
Data Type |
Bits Acquired in Memory |
---|---|
boolean |
1 |
byte |
8 |
char |
16 |
short |
16 |
int |
32 |
long |
64 |
float |
32 |
double |
64 |
Int 存储 32 位有符号二进制补码整数,需要 32 位(4 字节)存储在内存中,而 double 存储双精度 64 位浮点数,需要 64 位(8 字节)存储。很多时候 int 值需要转换为 double,因此可以使用以下三种方法来执行此类转换:
- 使用赋值运算符或隐式转换进行转换
- 使用 Double 类构造函数进行转换
- 使用valueOf()方法进行转换
1. 使用赋值运算符进行转换
当参与转换的两种数据类型兼容,或者将较小数据类型的值分配给较大数据类型时,Java 会执行隐式转换或扩大转换。 Double 比 int 大,因为它需要更多的存储空间;因此,int 值被 Java 隐式转换为 double。
用法:
double d = i
这里,
- d = 转换为双精度数据类型后用于存储双精度值的变量
- i = 要转换为双精度数据类型的整数值
Java
// Java program to convert int to
// double using assignment operator
class GFG {
public static void main(String[] args)
{
int i = 100;
// Implicit conversion from int to double data type
double d = i;
System.out.println("Integer value " + i);
System.out.println("Double value " + d);
}
}
Integer value 100 Double value 100.0
2. 使用 Double 包装类构造函数进行转换
Java中的Double类是一个包装类,用于创建可以保存单精度、双精度类型值的对象,并包含多个处理双精度问题的方法。 Int 值可以传递给 Double 类的构造函数,以创建使用提供的整数值初始化的 double 类型对象。
用法:
Double d = new Double(i)
这里,
- d = 转换为双精度数据类型后用于存储双精度值的变量
- i = 要转换为双精度数据类型的整数值
Java
// Java program to convert int to double
// using Double wrapper class constructor
class GFG {
public static void main(String[] args)
{
int i = 100;
// Conversion of int to double data
//type using Double wrapper class
Double d = new Double(i);
System.out.println("Integer value " + i);
System.out.println("Double value " + d);
}
}
输出
Integer value 100 Double value 100.0
3. 使用Double包装类的valueOf()方法进行转换
Double 包装类 valueOf() 方法将 int 值转换为 double 类型。它返回用提供的整数值初始化的Double-object。
用法:
Double d = Double.valueOf(i)
这里,
- d = 转换为双精度数据类型后用于存储双精度值的变量
- i = 要转换为双精度数据类型的整数值
Java
// Java program to convert int
// to double using valueOf() method
class GFG {
public static void main(String[] args)
{
int i = 100;
// Conversion of int to double data type using valueOf() method
Double d = Double.valueOf(i);
System.out.println("Integer value " + i);
System.out.println("Double value " + d);
}
}
Integer value 100 Double value 100.0
相关用法
- Java Integer divideUnsigned()用法及代码示例
- Java Integer equals()用法及代码示例
- Java Integer getInteger()用法及代码示例
- Java Integer longValue()用法及代码示例
- Java Integer max()用法及代码示例
- Java Integer min()用法及代码示例
- Java Integer numberOfLeadingZeros()用法及代码示例
- Java Integer numberOfTrailingZeros()用法及代码示例
- Java Integer parseInt()用法及代码示例
- Java Integer parseUnsignedInt()用法及代码示例
- Java Integer remainderUnsigned()用法及代码示例
- Java Integer reverseBytes(int i)用法及代码示例
- Java Integer toBinaryString()用法及代码示例
- Java Integer toHexString()用法及代码示例
- Java Integer toUnsignedLong()用法及代码示例
- Java Integer toUnsignedString()用法及代码示例
- Java IntBuffer allocate()用法及代码示例
- Java IntBuffer array()用法及代码示例
- Java IntBuffer arrayOffset()用法及代码示例
- Java IntBuffer asReadOnlyBuffer()用法及代码示例
- Java IntBuffer clear()用法及代码示例
- Java IntBuffer compact()用法及代码示例
- Java IntBuffer compareTo()用法及代码示例
- Java IntBuffer duplicate()用法及代码示例
- Java IntBuffer equals()用法及代码示例
注:本文由纯净天空筛选整理自saxenaanjali239大神的英文原创作品 Java Program to Convert Int to Double。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。