第1关:学习-Java包装类之Long类
任务描述
本关任务:使用 Long 类的定义与方法,完成 Long 类与基本数据类型的转换。
相关知识
Long 类是基本类型 long 的包装类,它包含若干方法来有效地处理一个长整型值,如将其转换为字符串表示形式,反之亦然。Long 类的一个对象可以保存一个长整型值。主要有两个构造函数来初始化一个 Long 对象:
-
Long(long b):创建一个使用提供的值初始化的 Long 对象;
-
Long(String s):使用字符串表示形式提供的 long 值创建一个 Long 对象。
例子:
Long aLong = new Long(100); // 创建一个使用提供的值初始化的 Long 对象
Long bLong = new Long("100"); // 使用字符串表示形式提供的 long 值创建一个 Long 对象
在 Boolean 类内部包含了一些和 Boolean 操作有关的方法,见下表。
方法 | 返回值 | 功能 |
---|---|---|
byteValue() | byte | 以 byte 类型返回该 Long 的值 |
doubleValue() | double | 以 double 类型返回该 Long 的值 |
floatValue() | float | 以 float 类型返回该 Long 的值 |
intValue() | int | 以 int 类型返回该 Long 的值(强制转换为 int 类型) |
longValue() | long | 以 long 类型返回该 Long 的值 |
shortValue() | short | 以 short 类型返回该 Double 的值(强制转换为 short 类型) |
toString() | String | 返回一个表示该 Long 值的 String 对象 |
valueOf(String s) | Long | 返回保存指定的 String 值的 Long 对象 |
parseLong(String s) | long | 将数字字符串转换为 Long 数值 |
equals() | boolean | 用于比较两个 Long 对象的相等性。如果两个对象都包含相同的 long 值,则此方法返回 true |
compareTo() | int | 用于比较两个 Long 对象的数值相等。如果相等返回 0,大于返回 1,小于返回 -1 |
我们来看几个示例:
- floatValue():可以将 Long 对象类型变成 float 的基础数据类型;
public class TestDemo {
public static void main(String[] args) {
// 定义一个 Long 对象类型的变量
Long a = new Long(10);
// 将 a 类型转变为 float 的基础数据类型
float f = a.floatValue();
System.out.print(f);
}
}
执行结果:
10.0
-
toString():返回一个表示该 Long 值的 String 对象;
// 定义一个 Long 类型的变量
Long l = new Long(3000);
// 将 Long 值转化为 String 类型
String s = l.toString();
System.out.print(s);
执行结果:
3000
-
valueOf(String s):返回保存指定的 String 值或数值型的 Long 对象;
String a = "12";
int b = 18;
// 将 String 型的数据转换为 Long 对象
Long aLong = Long.valueOf(a);
// 将 int 型的数据转换为 Long 对象
Long bLong = Long.valueOf(b);
System.out.println(aLong);
System.out.println(bLong);
执行结果:
12
18
-
parseLong:将数字字符串转换为 long 数值。
public class TestDemo {
public static void main(String[] args) {
String a = "12";
long v = Long.parseLong(a);
System.out.print(v);
}
}
执行结果:
12
使用 Long 类的定义与方法,完成 Long 类与基本数据类型的转换
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中完成 Byte 类与基本数据类型之间的转换,具体要求如下:
-
获取键盘第一次输入的字符,将其转换为对应的 ASCII 码后,将其转换为 Long 类型,输出:“char类型转换为Long类型后的结果为:xx”,其中 xx 为转换后的 Long 值;
-
获取键盘第二次输入的数字型字符串,以该值为参数创建一个 Long 对象,最后将其转换为 float 类型,输出:“Long类型转换为float类型后的结果为:xx”,其中 xx 为转换后的 float 值。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。
测试输入:
c
120
预期输出:
char类型转换为Long类型后的结果为:99
Long类型转换为float类型后的结果为:120.0
开始你的任务吧,祝你成功!
源代码:
/**
* 使用 Long 类的定义与方法,完成 Long 类与基本数据类型的转换。
*/
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
Scanner input = new Scanner(System.in);
// 获取键盘第一次输入的字符,将其转换为对应的 ASCII 码后,将其转换为 Long 类型
char c = input.next().charAt(0);
int i1 = (int)c;
Long l1 = Long.valueOf(i1);
System.out.println("char类型转换为Long类型后的结果为:" + l1);
// 获取键盘第二次输入的数字型字符串,以该值为参数创建一个 Long 对象,最后将其转换为 float 类型
String str = input.next();
Long l2 = Long.valueOf(str);
float f = l2.floatValue();
System.out.println("Long类型转换为float类型后的结果为:" + f);
/********** End **********/
}
}