48、为什么下面的代码无法编译?有哪两种方法可以修复它?public class CompilerError { float x = 0.01; }
代码无法编译的原因是在Java中,小数默认是 double 类型,将 double 类型的值赋给 float 类型的变量需要进行显式类型转换或指定该小数为 float 类型。
两种修复方法:
-
进行显式类型转换,将代码改为:
java float x = (float) 0.01; -
指定该小数为
float类型,将代码改为:
java float x = 0.01f;
49、编写一个简短的试验性程序来找出十六进制数 0xDEAD 的十进制值。如何将这个十六进制字面量重新编码为八进制?
要找出 0xDEAD 的十进制值,可使用 Java 代码:
System.out.println(Integer.parseInt("DEAD", 16));
将十六进制 0xDEAD 转换为八进制,可先将其转换为十进制,再转换为八进制,Java 代码为:
System.out.println(Integer.toOctalString(Integer.parseInt("DEAD", 16)));
50、以下哪几行代码能正确编译?为什么?float x = 1; float x = 1.0; float x = (int)1.0;
`float x = 1;` 能正确编译,因为整数 `1` 可以隐式转换为 `float` 类型。
`float x = 1.0;` 不能正确编译,因为 `1.0` 默认是 `double` 类型,将 `double` 赋值给 `float` 可能会损失精度,需要显式转换。
`float x = (int)1.0;` 能正确编译,先将 `1.0` 转换为 `int` 类型(值为 `1`),再隐式转换为 `float` 类型。
51、在 Java 等编程语言中,将浮点数 1.9 强制转换为整数类型(int)后的值是多少?
True
52、Math.rint(1.9) 的值是多少?
2
53、仅使用 << 运算符,将 17 转换为 34。
在二进制中,左移一位相当于乘以 2。17 的二进制表示左移一位可得到 34,代码为 17 << 1 。
54、~1的十进制值是多少?
-2
55、创建一个从 1 到 100 的数字列表。使用随机数生成器对列表元素进行大约 100 次随机交换。编写一个测试进行合理验证:确保列表大小保持不变,并且每次调用交换器时都有两个数字被交换。
以下是使用 Java 实现的代码示例:
import java.util.ArrayList;
import java.util.List;
import java.util.R

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



