当前位置: 首页 > news >正文

课后作业2(动手动脑,课后实验性问题)

1.仔细阅读示例: EnumTest.java,运行它,分析运行结果?
你能得到什么结论?你掌握了枚举类型的基本用法了吗?

枚举是类型安全的常量集合,比 static final int 更安全。
可以使用 switch 语句处理枚举值。
每个枚举值都有一个 ordinal() 方法,返回它在枚举中定义的顺序(从 0 开始)。
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
System.out.println("X+Y="+X+Y);

这里 字符串拼接 是从左到右进行的。
"X+Y=" 是一个字符串,所以后面的 + 会被当作字符串连接符,而不是数学加法。
因此:
先变成 "X+Y=" + X → "X+Y=100"
再变成 "X+Y=100" + Y → "X+Y=100200"
System.out.println(X+Y+"=X+Y");
这里 X+Y 在前,先进行整数加法,因为前面没有字符串。
所以:
X + Y → 100 + 200 = 300
然后 300 + "=X+Y" → 字符串拼接 → "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
这是因为 Java 中的 double 和 float 是浮点数,它们使用 IEEE 754 标准 表示,不能精确表示所有小数。就像十进制中无法精确表示 1/3 一样,二进制也无法精确表示 0.1、0.01 等。

http://www.gsyq.cn/news/13081.html

相关文章:

  • 从零开始构建图注意力网络:GAT算法原理与数值实现详解
  • 分解原则编写
  • iSCSI网络存储——基于VM17下麒麟V10SP1与SP2的共享配置
  • CSP-S1 2025
  • 金币
  • 【阿里DeepResearch】写作组件WebWeaver详解 - 指南
  • 完整教程:PostgreSQL 知识体系
  • 加密货币技术革命:揭秘数字复兴时代
  • 对于烧烤签子的钢材担忧
  • day20_修改 删除功能
  • Linux环境之----POSIX信号量
  • 完整教程:Flink 容错从状态后端到 Exactly-Once
  • Java语法基础课程动手动脑及课后实验问题整理文档
  • 安装包制作流程-final
  • 一般路人向第39次CSP认证
  • 完整教程:微论-神经网络的亲情密码,权重矩阵的家庭关系论
  • Ansible + Docker 部署 Apache Nifi 1.28 单用户集群
  • Godot Outline
  • SentinelOne与MITRE ATTCK企业版2025评估的深度解析
  • 详细介绍:Docker的介绍
  • react useEffect Hook讲解
  • 2025海丰杯WP
  • 2025电线电缆厂家最新权威推荐榜:聚焦电线电缆实力企业,覆盖多场景需求助力精准选购
  • 9.27课后作业
  • 调度算法,上古三算法
  • 学位论文中 公式的插入,格式调整、编号以及引用
  • 复刻江协激光触发器
  • Linux云服务器如何手动配置DNS?
  • 第一章——概论 - AlgosEng
  • 野指针