字斟句酌-教你调试代码 | 带你学《Java面向对象编程》之九十九

简介: 想知道自己的代码在运行时,方法和对象中各个数据发生了怎样的变化吗,本节将为读者介绍如何通过在代码中加入断点,并通过特定的入口执行调试的相关方法。

上一篇:使用Eclipse,感受工具带来的便利 | 带你学《Java面向对象编程》之九十八
【本节目标】
通过阅读本节内容,你将进一步领会到Eclipse的便利,学会在代码中添加断点,并使用Eclipse提供的调试功能对代码执行过程中方法、变量的各种变化进行细致的分析,对Java程序运行的过程有更深入的把控。

DEBUG调试

Eclipse之中支持有代码的调试操作,即:可以一步步的观察代码的执行处理操作流程。
1、建立一个程序类用于测试:

package cn.mldn.util;
public class Math {
    private Math() {}   //构造方法私有化
    public static int add(int x,int y) {
        int result = 0;
        result=x+y;
        return result;
    }
}
package cn.mldn.test;
public class TestMath {
    public static void main(String[] args) {
        int numA=10;
        int numB=20;
        System.out.println(cn.mldn.util.Math.add(numA,numB));
    }
}

2、如果要进行代码调试,那么一定要保证设置有一个程序的断点(Break Point);

image.png

3、使用调试模式启动程序

image.png

随后会出现一个对话框,询问是否要切换到调试视图之中,此时需要更改视图,因为我们需要得到一些调试的处理工具。

image.png
image.png

4、在Eclipse之中对于代码的调试主要可以通过几个控制工具来完成:

image.png

  • 【F5】单步跳入image.png :进入到代码之中进行程序执行的观察;
  • 【F6】单步跳过image.png :只关心最终的结果并不关心里面到底执行了什么(观察程序表面执行);
  • 【F7】单步返回 image.png:进入之后如果后续不再观察了,则直接返回;
  • 【F8】恢复执行image.png :取消断点的影响,程序正常执行完毕。

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:让测试工作为项目运行保驾护航 | 带你学《Java面向对象编程》之一百
更多Java面向对象编程文章查看此处

相关文章
|
4天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
18天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
32 5
Java反射机制:解锁代码的无限可能
|
14天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
47 3
|
20天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
57 10
|
15天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
14天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
22天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
29 6
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
4天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
23 9
|
7天前
|
存储 安全 Java
Java多线程编程的艺术:从基础到实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及其实现方式,旨在帮助开发者理解并掌握多线程编程的基本技能。文章首先概述了多线程的重要性和常见挑战,随后详细介绍了Java中创建和管理线程的两种主要方式:继承Thread类与实现Runnable接口。通过实例代码,本文展示了如何正确启动、运行及同步线程,以及如何处理线程间的通信与协作问题。最后,文章总结了多线程编程的最佳实践,为读者在实际项目中应用多线程技术提供了宝贵的参考。 ####