任务描述
本关任务:将键盘输入的字符串类型的值转换为 Double 类型,将转换后的结果输出。
相关知识
Double 类在对象中包装了一个基本类型 double 的值。Double 类对象包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时还提供了处理 double 类型时比较常用的常量和方法。
Double 类中的构造方法有如下两个:
- Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数;
- Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。
例如,以下代码分别使用以上两个构造方法获取 Double 对象:
Double double1 = new Double(3.25); // 以 double 类型的变量作为参数创建 Double 对象
Double double2 = new Double("9.765"); // 以 String 类型的变量作为参数创建 Double 对象
接下来我们来看 Double 的一些常用方法:
方法 | 返回值 | 功能 |
byteValue() | byte | 以 byte 类型返回该 Double 的值 |
doubleValue() | double | 以 double 类型返回该 Double 的值 |
fioatValue() | float | 以 float 类型返回该 Double 的值 |
intValue() | int | 以 int 类型返回该 Double 的值(强制转换为 int 类型) |
longValue() | long | 以 long 类型返回该 Double 的值(强制转换为 long 类型) |
shortValue() | short | 以 short 类型返回该 Double 的值(强制转换为 short 类型) |
isNaN(double v) | boolean | 如果指定的参数是一个非数字值,则返回 true,否则返回 false |
toString() | String | 返回一个表示该 Double 值的 String 对象 |
valueOf(String s) | Double | 返回保存指定的 String 值或数值型的 Double 对象 |
parseDouble(String s) | double | 将数字字符串转换为 double 数值 |
我们来看几个示例:
- intValue():可以将 Double 对象类型变成 int 的基础数据类型;
public class TestDemo {
public static void main(String[] args) {
// 定义一个 Double 对象类型的变量
Double a = new Double(10.0);
// 将 a 类型转变为 int 的基础数据类型
int i = a.intValue();
System.out.print(i);
}
}
执行结果:
10
- isNaN(double v):如果指定的参数是一个非数字值,则返回 true,否则返回 false;
// 定义一个 double 型的变量
double d = 1.8E307d / 15.2;
// 判断该参数是否是非数字值
System.out.print(Double.isNaN(d));
执行结果:
false
- toString():返回一个表示该 Double 值的 String 对象;
// 定义一个 Double 类型的变量
Double double1 = new Double(3.25);
// 将 Double 值转化为 String 类型
String s = double1.toString();
System.out.print(s);
执行结果: ```
3.25
- valueOf(String s):返回保存指定的 String 值或数值型的 Double 对象;
String a = "12.50"; float b = 10.0f; int c = 18; // 将 String 型的数据转换为 Double 对象 Double aDouble = Double.valueOf(a); // 将 float 型的数据转换为 Double 对象 Double bDouble = Double.valueOf(b); // 将 int 型的数据转换为 Double 对象 Double cDouble = Double.valueOf(c); System.out.println(aDouble); System.out.println(bDouble); System.out.print(cDouble);
执行结果:
12.5 10.0 18.0
- parseDouble:将数字字符串转换为 double 数值。
public class TestDemo { public static void main(String[] args) { String a = "12.50"; double v = Double.parseDouble(a); System.out.print(v); } }
执行结果:
12.5
```
在 Double 类中包含了很多常量,其中较为常用的常量如下:
- MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量;
- MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量;
- NaN:保存 double 类型的非数字值的常量;
- NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量;
- POSITIVE_INFINITY:保持 double 类型的正无穷大的常量;
- SIZE:以二进制补码形式表示 double 值的比特位数;
- TYPE:表示基本类型 double 的 Class 实例。
/*
* 将键盘输入的字符串类型的值转换为 Double 类型,将转换后的结果输出。
*/
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********* Begin *********/
// 获取键盘输入的字符串的值
Scanner input = new Scanner(System.in);
String str = input.next();
// 将该值转换为 Double 类型
Double D = Double.parseDouble(str);
// 输出转换后的结果
System.out.println(D);
/********** End **********/
}
}