关键是在循环体内部设断点,如循环首行,配合单步执行实时观察变量;避免设在循环开始前或结束后,确保每次迭代都暂停查看i、sum等值变化。

调试循环时想看清变量怎么变,关键不是“等它跑完再看”,而是让程序在循环中暂停、分步执行,同时盯住变量实时状态。重点在于断点位置、单步控制和变量观察方式的配合。
断点设在循环体内部或条件行
把断点打在 while 或 for 的循环体第一行(比如 System.out.println(i); 或 sum += i;),而不是循环开始前或结束后。这样每次进入循环体都会暂停,你能逐次看到 i、sum 等变量的当前值。如果打在 while (i 这一行,停住时条件还没判断,变量值可能不是你预期的“本轮执行后”的状态。
用 F8 逐行执行并盯住 Variables 视图
启动 Debug 后,程序停在断点上,打开 IDE 底部的 Debug 工具窗口 → Variables 标签页。这里显示的是当前栈帧里所有可见变量的真实值,比鼠标悬停更准。按 F8(Step Over) 执行当前行,观察 Variables 里数值是否更新;再按一次,看下一行执行后又怎么变。例如:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
-
int i = 0;→ Variables 显示i = 0 while (i → 条件为 true,继续-
System.out.println(i);→ 执行后仍显示i = 0 -
i++;→ 执行完这行,Variables 中i变成1
对多次循环用条件断点减少干扰
如果循环上百次,手动按几十次 F8 容易出错。右键循环体内的断点 → Add Conditional Breakpoint,填入类似 i % 10 == 0,就能只在第 10、20、30… 次循环时暂停。也可以写 i == 5 || i == 50,精准捕获关键节点。配合 Variables 视图,一眼看出变量在边界点的变化趋势。
需要持续追踪就加 Watch 表达式
有些变量作用域短(比如 for 循环里的 int j = i * 2;),离开循环体就看不见了。在 Variables 视图右键 → Add Watch,输入表达式如 j 或 "i=" + i + ", j=" + j,它会一直显示,即使变量本身已不可见。Watch 还支持简单计算和字符串拼接,方便快速验证逻辑。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










