跳到内容

元数据卡

  • 前置知识:第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 准备好了。但程序只能从头跑到尾?下一章学 ifwhile——编程世界的两把锁。

Built with VitePress | Software Systems Atlas