课程总结(作业2)
1.仔细阅读示例: EnumTest.java,运行它,分析运行结果?
你能得到什么结论?你掌握了枚举类型的基本用法了吗?
枚举类型(Enumeration)是一种用户定义的数据类型,用于定义一组命名的常量,使代码更具可读性和可维护性。
枚举是类型安全的常量集合,比 static final int 更安全。
values() 方法可以返回所有枚举值,用于遍历。
枚举可以像类一样定义字段、构造方法、方法。
2.以下代码的输出结果是什么?
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
为什么会有这样的输出结果?
这段代码的输出结果是:
X+Y=100200
300=X+Y
这是由于 Java 中字符串连接运算符(+)的运算顺序导致的:
对于第一条语句 System.out.println("X+Y="+X+Y);
运算从左到右进行
首先执行 "X+Y=" + X,由于左侧是字符串,会将 X(100)转换为字符串,得到 "X+Y=100"
然后执行 "X+Y=100" + Y,同样将 Y(200)转换为字符串,最终得到 "X+Y=100200"
对于第二条语句 System.out.println(X+Y+"=X+Y");
依然从左到右运算
首先执行 X + Y,两个 int 类型相加,得到结果 300(数值类型)
然后执行 300 + "=X+Y",将数值 300 转换为字符串,最终得到 "300=X+Y"
3.请运行以下代码(TestDouble.java)
public class TestDouble {
public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
输出结果
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
这是由于浮点数(double 类型)的精度问题导致的。
在计算机中,浮点数(如 Java 中的 double)是采用 IEEE 754 标准来表示的,这种表示方式无法精确存储所有的十进制小数,尤其是某些分数(如 1/3、0.1 等)。
当进行浮点数运算时,这些微小的精度误差会累积,导致计算结果与预期的十进制结果略有偏差。

浙公网安备 33010602011771号