元数据卡
- 前置知识:第3章 表达式、算术运算符、比较与逻辑运算符
- 预计时间:15 分钟
- 阅读模式:动手操作
- 完成标志:完成热身和构建练习;遇到错误能自行排查
老陈沏了一壶茶:"轮到你了。出错没关系——出错才是真正学会的时候。"
常见陷阱
坑 1:== 和 = 混用
java
boolean correct = (score = 60); // Java 编译报错——编译器保护了你坑 2:浮点数精度 — 0.1 + 0.2 = 0.30000000000000004 安全做法:Math.abs(a - 0.3) < 1e-10
坑 3:整数除法
java
double avg = (5 + 6 + 7) / 3; // 6.0(先整数得 6)正确:(5 + 6 + 7) / 3.0
坑 4:++ 前置后置 — ++a 先加再用,a++ 先用再加。单独成行使用。
热身(5 分钟)
java
int a = 5, b = 2;
double c = 3.0;
int r1 = a / b; // ?
double r2 = a / b; // ?
double r3 = a / c; // ?
boolean r4 = a > b && b < c; // ?答案
r1=2(截断),r2=2.0(截断后转double),r3=1.666...(自动提升),r4=true(&&组合)构建练习(15 分钟)
三个 int 用三元找出最大值:
java
int a = 15, b = 8, c = 22;参考
```java int max = (a > b) ? a : b; max = (max > c) ? max : c; // max=22 ```挑战(选做)
java
int x = 3;
boolean flag = (x++ > 3) && (++x > 5);
System.out.println(x + " " + flag); // ?答案
x=4, flag=false。`x++ > 3` 得 false → 短路,右边跳过,x 停在 4。验收标准
- [ ] 能正确使用 5 类操作符(算术、关系、逻辑、赋值、三元)
- [ ] 能区分
==和= - [ ] 能解释短路求值
- [ ] 能说出整数除法截断和
++前置/后置的区别
旅人笔记
整数除法截断、浮点精度、== 和 = 混淆——每个坑都是必经之路。踩过了,你就记住了。
→ 下一站:条件与循环
boolean 准备好了。但程序只能从头跑到尾?下一章学 if 和 while——编程世界的两把锁。