速发国际365的最新网站-百特365平台可靠吗-日博365投注网

教程:调试您的第一个 Java 应用程序

教程:调试您的第一个 Java 应用程序您已 创建并运行了您的 Java 应用程序。 假设您发现它的运行方式并不符合您的预期。 例如,它返回错误的

教程:调试您的第一个 Java 应用程序

教程:调试您的第一个 Java 应用程序您已 创建并运行了您的 Java 应用程序。 假设您发现它的运行方式并不符合您的预期。 例如,它返回错误的值,或者因异常而崩溃。 看起来您的代码中存在错误,是时候对其进行调试了。

在本教程中,您将学习如何使用 IntelliJ IDEA 调试器查找并修复 Java 应用程序中的逻辑错误。

您将熟悉基本的调试流程:从设置断点、运行调试会话,到逐步执行代码和分析程序状态。 在此过程中,您将熟悉 调试 工具窗口,以及如何使用变量检查和内联调试来验证程序逻辑。

对于本教程,您只需具备 Java 的基础知识。 本教程使用 Java 25 语法。

什么是调试?广义而言,调试是检测并纠正程序中错误的过程。

您需要处理不同类型的错误。 其中一些很容易捕获,例如语法错误,因为编译器会处理它们。 另一个简单的情况是,通过查看堆栈跟踪可以快速识别错误,这有助于您找出原因。

但是,也有一些错误非常棘手,查找和修复可能需要很长时间。 例如,一个微妙的逻辑错误可能在程序早期发生,但直到很晚才被发现,这使得问题的解决极具挑战性。

这时, 调试器就派上用场了。 它是一种工具,通过提供对程序内部操作的深入洞察,帮助您高效地查找错误。 这可以通过在指定点暂停执行、分析程序状态,并在必要时逐步推进执行来实现。 在调试期间,您可以完全掌控一切。 本教程介绍一个基本的调试场景,帮助您入门。

检查代码让我们尝试一个简单的调试示例。

创建一个新的项目启动 IntelliJ IDEA。

如果打开欢迎屏幕,请点击 新建项目。 否则,请在主菜单中转到 文件 | 新建 | 项目。

在 新建项目 列表中,选择 Java。 为项目命名(例如, AverageFinder )。

选择 Maven 作为 构建系统。

从 JDK​ 列表中,选择最新可用的 Oracle OpenJDK 版本。

如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。

如果您的计算机上没有所需的 JDK,请选择 下载 JDK。

请选择 添加示例代码 选项。 点击 创建。

之后,IDE 将为您创建并加载新项目。

编写代码项目创建后,在 项目 工具窗口(Alt+1 )中找到 src | main | java | org.example | Main.java 文件,并在编辑器中打开。

将现有代码替换为以下代码示例:

void main(String[] args) {

IO.println("Average finder v0.1");

double avg = findAverage(args);

IO.println("The average is " + avg);

}

private static double findAverage(String[] input) {

double result = 0;

for (String s : input) {

result += Integer.parseInt(s);

}

return result;

}

运行应用程序(Shift+F10)。

现在您有一个程序,应该计算作为命令行参数传入的所有值的平均值。

程序可以正常编译和运行;但是,结果并非预期那样。 例如,当您 传递 1 2 3 作为输入时,结果是 6.0 ,而不是 2.0。

首先,您需要考虑错误可能来自哪里。 您可以假设问题不在 print 语句中。 很可能,意外结果来自 findAverage 方法。 为找出原因,让我们在运行时检查其行为。

设置断点为了调查该错误,您需要在程序执行到产生错误结果的代码片段时暂停程序。 这可以通过设置 断点来实现。 断点用于指示程序挂起以便您检查其状态的代码行。

点击 findAverage 方法被调用的那行的行号栏。

现在,您可以在 装订区域看到代码行旁边的红点。 这是一个断点。 当程序运行到此行时,IntelliJ IDEA调试器会暂停程序执行,您可以检查此时发生的情况,并验证程序在该点是否正确运行。

以调试模式运行程序现在让我们以调试模式启动程序。

由于在运行和调试程序时需要传递参数,请将它们添加到 运行/调试配置中。

在装订区域中点击 运行 图标,然后选择 修改运行配置。

在 程序参数 字段中输入 1 2 3。 应用更改并关闭对话框。

点击 运行 按钮,位于 main 方法附近。 从菜单中选择 调试。

调试器会话启动,并使用给定的参数执行程序。

分析程序状态调试会话启动后,程序会正常运行,直到遇到断点。 这时,IntelliJ IDEA 会暂停程序,突出显示程序挂起的那一行,并显示 调试 工具窗口。

高亮显示的行尚未执行。 程序现在正在等待您的进一步指令。 挂起状态允许您检查保存程序状态的变量。

由于 findAverage 方法尚未被调用,其所有局部变量(如 结果 )尚未进入作用域,但您可以检查 args 数组的内容(args 在 main 方法的作用域内)。 变量的内容会内联显示在 args 被使用的地方:

您还可以在 调试 工具窗口中的 线程与变量 选项卡上获取当前处于作用域内的所有变量信息。

逐步执行程序现在您已经熟悉了 调试 工具窗口,该进入 findAverage 方法,了解其内部发生了什么。

要步入方法,请点击 步入 按钮(位于 调试 工具窗口的工具栏)或按下 F7。

编辑器中的高亮显示移动到其他行,因为您将执行点向前推进了一步。

让我们继续单步执行,看看局部变量 结果 是如何声明的,以及它在循环的每次迭代中如何发生变化。 点击 步入 ,直到您看到变量 s 的值为 "3"。

如果您误操作步进过多,希望将调试过程重新回到程序起点,可以始终通过 重新运行 按钮(在 调试 工具窗口工具栏上)重新运行调试会话。 关于步进过程的更多信息和操作,请参阅 逐步执行程序。

此时,变量 s 包含的值是 "3"。 它将被转换为 Integer ,并添加到 结果 中,后者当前的值为 3.0。 到目前为止没有错误。 求和计算正确。

再执行两步,就会来到 return 语句,您能看到遗漏之处。 您返回了 结果 (其值为 6.0 ),但没有将其除以输入的数量。 这就是程序输出不正确的原因。

当您完成单步调试并希望正常继续程序执行时,请按 F9 或从主菜单中选择 运行 | 调试操作 | 恢复程序。

让我们更正该错误。 将 return result; 行替换为包含正确计算公式的代码:

return result / input.length;

停止调试会话并重新运行程序为检查程序是否正常工作,先停止调试会话并重新运行程序。

在 调试 工具窗口的工具栏中,点击 停止 ,或按下 Ctrl+F2。

点击 运行 按钮,位于 main 方法附近。 从菜单中选择 运行。

请验证程序现在是否正常运行。

总结通过本教程,您已经学会了如何:

设置断点检查代码

以调试模式运行程序

使用调试器分析程序状态

逐步执行程序代码以查找错误原因

后续步骤您可以通过这些教程了解如何在 IntelliJ IDEA 中完成其他任务:

教程:运行 Java 应用程序

教程:JUnit 入门

教程:在 IntelliJ IDEA 中开始使用 Git

完整教程列表请参阅 IntelliJ IDEA 教程。

2026年 3月 24日调试 GraalVM 本机镜像教程:设置值

← 上一篇: 《云顶之弈》S12攻略、一图、阵容码传送门汇总9.19
下一篇: 哪里可以免费出家修行 →

相关推荐

Nature Chemical Biology

Nature Chemical Biology

塑料的发明为我们的日常生活带来了极大的便利。但是,大规模塑料垃圾的产生以及不当的处理方式,使得塑料垃圾(白色污染)成为当下最为

永久免费的看漫画软件有哪些

永久免费的看漫画软件有哪些

您的位置:首页 > 盘点列表 > 盘点详情 永久免费的看漫画软件有哪些 时间:2025-02-17 17:05:47 编辑:根号三 阅读:3003 许多永久免费的看漫画软件

日历每隔多少年可以重复使用?好评

日历每隔多少年可以重复使用?好评

日历每隔多少年可以重复使用?好评2023-01-27 07:30 4个回答2023-01-27 12:11每年比上一年多20925.6秒,365天为1314****秒,所以62.79年以后日历可以重复使

优我女团 优我少女成员资料介绍

优我女团 优我少女成员资料介绍

优我少女是一支由腾讯音乐和芒果TV联合发起的女子偶像团体,于2020年1月1日正式出道。优我少女由9位成员组成,分别是陈梦妍、陈梦晴、陈梦

【声网Agora】工作在声网是怎样一种体验+简历建议

【声网Agora】工作在声网是怎样一种体验+简历建议

【声网Agora】工作在声网是怎样一种体验+简历建议 Hi! 我又来了小伙伴们。 本文共计2696个字,大约阅读时间10分钟。 今天来跟大家分享下在声

手机自动拍照怎么回事

手机自动拍照怎么回事

在现代生活中,手机已成为我们日常不可或缺的工具之一,而手机相机更是记录生活点滴的重要工具。然而,有时我们可能会遇到手机自动拍照