将 Int 转换为 Double 的Java程序
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);
}
}
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);
}
}
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
2.使用Double wrapper类构造函数进行转换
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 wrapper类的valueOf()方法进行转换
双包装类 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