
第2章 流行的Java开发工具—Eclipse
本章视频教学录像:1 小时20 分钟
古语有言:“工欲善其事,必先利其器。”要学习和使用Java语言进行程序开发,就必须选择一种功能强大、使用方便且能够辅助程序开发的IDE集成开发工具,而Eclipse就是目前最为流行的Java语言辅助开发工具。它具有强大的代码辅助功能,能够帮助程序开发人员自动完成输入语法、补全文字、修正代码等操作,能够大量减轻程序开发人员的时间和精力。通过本章的学习,读者能够初步了解Eclipse开发工具,并且能够使用它完成程序的开发工作。
本章要点(已掌握的在方框中打钩)
□ Eclipse概述
□ 掌握Eclipse 的安装、设置与启动方法
□ 熟悉Eclipse 的开发环境
□ 使用Eclipse 创建 Java 程序
□ 在 Eclipse 中调试 Java 程序
2.1 认识Eclipse开发工具
本节主要讲解Eclipse工具安装、配置以及工作台等内容。
本节视频教学录像:44分钟
2.1.1 Eclipse概述
Eclipse是IBM花巨资开发的IDE集成开发环境(Integrated Development Environment),其前身是IBM的Visual Age for Java(VA4J)。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,是可扩展的体系结构,可以集成不同软件开发供应商开发的产品,将他们开发的工具和组件加入到Eclipse平台中。另外Eclipse还附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
随Java应用的日益广泛,各大主要软件供应商都参与到Eclipse架构开发中,使得Eclipse的插件数量与日增多。Eclipse为程序开发人员提供了优秀的Java程序开发环境。
2.1.2 Eclipse的安装、设置与启动
Eclipse的安装非常简单,仅需对下载后的压缩文件进行解压缩即可完成操作。
1. 安装Eclipse开发工具
⑴ 笔者使用的Eclispe的版本是4.4,读者可在Eclispe的官方网址:http://www.eclipse. org/downloads/,下载该版本。

注意
操作系统的位数是指其所依赖的指令集位数,目前主要有32位和64位这两大类指令集。32位操作系统只能支持4GB以内的内存。64位操作系统可支持4GB以上的内存。为了保证应用软件的性能和兼容性,建议读者安装与操作系统位数相匹配的软件版本。
⑵ 根据你的操作系统类型下载对应版本的Eclipse,笔者的操作系统为64位Windows 7,所以单击上图所示的“Windows 64 Bit”链接地址,下载eclipse-standard-luna-R-win32-x86_64.zip,事实上,64位的操作系统也是可以安装32位Eclipse的,因为操作系统通常保证向前兼容。如果读者的操作系统是32位的,就单击“Windows 32 Bit”,下载对应的32位Eclipse。然后用WinRAR等解压缩软件,将该zip文件压缩包解压到本地。32位的操作系统是不能安装64位Eclipse的。下载页面会自动跳转到用户最近的Eclipse镜像下载点,下图所示的为中国科技大学的镜像地址。

注意
在安装Eclipse时,除了要考虑与操作系统的位数兼容,还要保证和Java的JDK位数一致(JDK的下载安装,我们已经在第一章讲到)。
⑶ 为了便于管理,读者可以将解压缩后的Eclipse文件夹复制到任意指定的文件夹中。例如,“D:\Development\Java”文件夹,这里的路径及文件夹名仅仅是为了举例说明,读者可根据自己的需要选择安装路径和创建文件夹,如“C:\我的开发\Java”都是合法可行的。
2. 启动Eclipse
接下来可以启动Eclipse。具体步骤如下。
⑴ Eclipse的启动很简单,进入Eclispe文件夹(如路径D:\Development\Java\Eclipse)。由于Eclipse是绿色软件,无需安装,双击运行eclipse.exe可执行文件,便可启动英文版的Eclipse开发工具,如下图所示。为了更方便的操作,这里可以将eclipse.exe发送到桌面快捷方式或固定到任务栏。默认的Eclipse版本是英文界面的,如果想安装其他语言版本(如中文)的Eclipse,请参阅第3步的设置。

⑵ Eclipse启动后,Eclipse首先让用户选择一个工作空间(WorkSpace)。
注意
工作空间”实际上是一个存放Eclipse建立的项目的目录,包括项目源代码、图片等,以及一些用户有关Eclipse个性化的设置,如用于语法高亮显示的颜色、字体大小及日志等。一般来说,不同的Java项目,如果设置不同,需要使用不同的工作空间来彼此区分。如果想备份自己的软件项目,只要复制该目录即可。
在弹出的【Workspace Launcher】对话框的【Workspace】在文本框中输入你指定的路径,如“D:\Development\Java\workspace”,然后单击【确定】按钮。如下图所示。

该对话框用于设置Eclipse的工作空间,本书所使用的Eclipse工作空间为D:\Development\Java\workspace。
注意
Eclipse每次启动都会出现设置工作空间的对话框,如果选中【Use this as the default and do not ask again】复选框,就可以将当前的工作空间设置为默认的工作空间,这样再启动Eclipse时就不会出现此对话框了。
单击【OK】按钮,系统将出现Eclipse的欢迎界面,其中包含【Overview】【Tutorials】【Samples】和【What's New】以及工作台相关按钮和菜单栏等,如下图所示。

3. Eclipse的国际化
Eclipse默认安装的语言版本是英文。从初学者的角度考虑,如果集成开发工具是中文版的,读者在学习和使用的过程中会轻松很多。另外一点就是,读者可以方便地查阅中文教程和帮助信息。为此,读者可到Eclipse网站上下载多国语言包,从而实现Eclipse操作界面的国际化,进而选择中文语言来显示Eclipse程序界面。
在Eclipse国际化之前,首先要查看Eclipse的版本号:首先打开Eclipse软件,在菜单【Help】 【About Eclipse】,查看当前的Eclipse版本号,如下图所示。

由上图方框标识的部分可以看出, Eclipse 4.4.0所对应的版本名称为Luna。在选择多国语言包的地址时一定要找到与你Eclipse版本相匹配的地址。目前官方给出的下载地址是以版本代号给出的,如本书使用的是Luna,另外还有Kepler、Juno、Indigo等早期版本。
注意
Eclipse除了用数字来标识版本号外,还给每个发行版本取了一个著名的人或物名,例如Eclipse 3.7 版本代号 Indigo (靛青)、Eclipse 4.2 版本代号 Juno(朱诺)、Eclipse 4.3 版本代号 Kepler(开普勒)及Eclipse 4.4 Luna(撸哪)等。
然后,到官方网站(http://www.eclipse.org/babel/downloads.php)找到与所安装的Eclipse版本相匹配的多国语言包:Babel Language Pack Update Site for Luna。

下面简要介绍两种相对简单的安装方式:在线安装及下载语言包安装。
1. 在线安装汉化
⑴ 在Eclipse的菜单栏【Help】中,单击【Install New Software】选项,如下图所示。

之后,会弹出【Install】对话框,如下图所示。

在【Install】对话框中,单击右上角的Add(添加)按钮,在弹出的对话框【Add Repository】中,将【Name】对应的文本框中,输入“Language”作为名字,在【Location】对应的文本框中输入:http://download.eclipse.org/technology/babel/update-site/R0.12.0/luna,然后单击【OK】按钮,如下图所示。

需要说明的是,上述链接地址是多国语言包的在线安装的解析地址,直接在浏览器地址栏输入这个链接地址是无效的。此外,由于国内用户网络存在不稳定性,这样可能会导致出现无法有效解析上述国外网址的现象,这时需要读者耐心地多尝试几次。若想直接下载多国语言包文件,需要单击“Zipped p2 repository (84 MB)”对应的链接。
⑵ 然后会出现“Pending”字样,这是表示让等待一会,即将就绪,如下图所示。

⑶ 之后,在出现的插件列表中找到Babel Language Packs in Chinese (Simplified),其中Chinese (Simplified)字样表示的是简体中文版本,如下图所示。

⑷ 在它前面的复选框中打钩。然后单击【Next】按钮,出现这个语言包的安装细节【Install Details】,如下图所示。

⑸ 然后单击【Next】按钮,出现【Review Licences】,若想使用这个语言包,必须接收这个软件安装许可证协议,该协议里包含了免责条款及对用户的权利限制。选择“I accept the terms of the liences agrement”,单击【Finish】完成,如下图所示。

⑹ 然后等待Eclipse下载对应的语言包,这个过程需要一定的时间,读者也可以让下载过程运行在后台(Run in Backgroud),如下图所示。

⑺ 在安装过程中可能会出现安全警告(Security Warning),读者单击【OK】按钮即可,如下图所示。

⑻ 最后待安装完成后,重启Eclipse,如下图所示。

⑼ 按照以上步骤操作,即可实现Eclipse从英文版向中文版的切换,如下图所示。本质上,Eclipse的内核还是英文版的,其所谓的汉化并不完全,只对关键的地方(如菜单栏)进行了中文汉化,仍有很多文档仅提供英文版。

我们推荐读者在熟悉Eclipse使用后,切换到英文环境,这是因为有关Eclipse的最新、最权威文档及Eclipse使用过程中输出的调试信息很多都是英文的,任何语言经过一层“翻译”之后,信息都会在某种程度上有所损失。
2. 下载语言包汉化
到官方网站(http://www.eclipse.org/babel/downloads.php)找到与所安装的Eclipse版本相匹配的多国语言包:Babel Language Pack Update Site for Luna。
⑴ 在语言包下载页面“Babel Language Pack Zips”单击Luna键,如下图所示。

⑵ 选择中文简体,如下图所示。

⑶ 单击“BabelLanguagePack-datatools-zh_4.4.0.v20140623020002.zip (87.72%)”,下载该汉化包。前面括号里的百分比%为汉化比例,由于Eclipse的汉化工作是志愿者义务在空闲时间翻译的,所以通常汉化工作不像商业软件那么彻底,随着时间的流逝,汉化比例会越来越高。

⑷ 在镜像网站下载语言包。
下载页面会自动跳转到距离用户最近的镜像站点,单击“[China] Beijing Institute of Technology (http)”下载语言包。

将汉化包下载好以后,解压缩,目录结构如下图所示。

然后把features和plugins这两个文件夹复制到eclipse安装目录(如D:\Development\Java\Eclipse\)下面的dropins目录(注意,不是plugins目录),dropins文件夹原本是空文件夹,复制之后如下图所示。

然后重启Eclipse,就已经成功汉化了,如下图所示。

2.1.3 Eclipse 工作台
在Eclipse的欢迎界面中,单击【工作台】按钮或者关闭【欢迎】的界面窗口,将显示出Eclipse的工作台,如下图所示。Eclipse工作台是程序人员开发以及调试程序的主要场所。
Eclipse的一大优势就在于它有非常多优秀的插件(Plug-in),这些插件采用无缝衔接的方式集成到该工作台中,这就使得Eclipse在运行系统之上可以实现各种插件带来的“附加”功能。拥有合适的Eclipse插件是非常重要的,因为一个好的插件可以大大的提高我们的工作效率,提高代码质量。例如, FindBugs插件可以帮助程序员更容易找到Java代码中的缺陷(Bug)。再例如,Checkstyle插件可以集成到Eclipse IDE中去,它能确保Java代码遵循标准代码样式。当然,作为一个开发平台,它也可在这个工作台中开发各种插件,然后安装在Eclipse之中,为己所用。
Eclipse 工作台主要有标题栏、菜单栏、工具栏、编辑器和各种视图(大纲视图、调试视图、团队视图)等,如下图所示。

项目资源管理器主要用于显示项目中的文件列表。文件编辑区用于显示当前编辑的文本(如Java源代码)。当文件被加入到项目中后,就可在资源浏览器或Java包浏览窗口中双击指定文件,Eclipse会试图打开这个文件,其中Eclipse内嵌的编辑器能缺省打开一些文件,如*.java,*.txt等。控制台(Console)用来显示程序调试信息或程序运行结果。
2.1.4 Eclipse 菜单栏
Eclipse的菜单栏中包含了Eclipse的基本命令,主要有【文件】、【编辑】、【源码】、【重构】等10个子菜单,下面分别给予简要介绍。
1.【文件】菜单
文件(File)菜单用于新项目的创建、保存以及关闭等操作。该菜单主要包含【新建】、【保存】、【关闭】、【打印】等,除此之外,还包括【切换工作空间】、【导入】及【导出】工作空间资源以及结束工作空间本身等命令,如下图所示。
2.【编辑】菜单
编辑(Edit)菜单主要用于辅助程序代码设计工作,如代码的【复制】、【剪切】、【粘贴】及【查找】等,如下图所示。


3.【源码】菜单
源码(Source)菜单中所包含的命令都是和代码编写相关的,主要用于源码的【注释】【、缩进】【、格式化】等工作,如下图所示。
4.【重构】菜单
重构(Refactor)菜单也可以在一些视图的快速菜单与Java编辑器中找到。它是Eclipse最为关键的菜单,主要包括对项目重构的相关命令,对本菜单需要重点掌握,如下图所示。


在Eclipse中,重构是指在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
具体举例来说,如果类放错了位置,可以通过【重构】将其前移至另一个包(package)里面。再例如,如果类、方法和变量等名称错了,可将这些名称进行改名。但是,这些名称的修改,可能会涉及整个项目的多个源码文件,“牵一发而动全身”,凡是涉及到这些名称的所有代码必须全部修改,否则局部修改后的代码可能难以使用。而在多个文件中,利用人工的方式逐一修改这些名称,工作量很大,而且极易出错。【重构】菜单下的命令可以方便地帮助用户完成这些功能。
提示
重构(Refactoring)从其英文构词法,就可以看出它是让某事物重新(re)回工厂(factory)加工。该概念最早源自Martin Fowler的著作《重构:改善既有代码的设计》。对这个软件设计理念感兴趣的读者可参阅此书。
5.【浏览】菜单
浏览(Navigate)可以寻找及导览工作空间中显示的资源及其他成品。它包含了一些浏览的动作,例如 【转至】、【打开类型】、【打开声明】及【显示位置】等,如下图所示。使用户既可以浏览,也可以仔细查看代码。例如,一个常见的可以添加到动作集的命令的例子是【浏览】【打开类型】。该命令用来打开当前窗口中不可见的某种类型编辑器,这是一种横向导航的方式。
6.【搜索】菜单
搜索(Search)包括了丰富的查找命令,包括【Java】、【引用】、【声明】和【文件中出现的位置】等。如下图所示。搜索功能是 Eclipse 中一个非常重要的特性,它提供了丰富的查找结果(如用户可以输入“正确表达式”或任意字符串,指定查找范围和匹配选项等), 以及方便的定位,并可以查看查找历史记录和使用上一次的条件重新运行查找功能。


例如,通过【搜索】【Java】,可以激活有关Java项目的查找功能,其对话框如下图所示。如果用户想比较精确的查找,可以通过对话框中的【搜索】、【限制为】及【搜索位置】来缩小搜索范围。

7.【项目】菜单
项目(Project)菜单主要用于管理Eclipse中的项目,可以对工作空间中的项目执行动作(构建或编译)。该菜单包括用于项目的【打开】、【关闭】及【自动构建】等操作,如下图所示。
在Eclipse中,从软件开发的角度来考虑,“项目”是指独立的应用程序或模块,它可以理解为是实现某项功能的源代码文件的集合。
8.【运行】菜单
运行(Run)菜单中包含了与程序【运行】和【调试】相关的各种操作,同时还具有保存【运行历史】和【调试历史】的记录功能,如下图所示。


【运行】菜单中常用的【运行】和【调试】命令,可分别用快捷键【Ctrl+F11】和【F11】来激活。使用快捷键可以提高程序的开发效率。
9.【窗口】菜单
窗口(Window)菜单主要用于显示、隐藏或处理Eclipse中的各种视图和透视图,如下图所示。视图是为了定义Eclipse在窗口里显示的最初的设计和布局。
工作台会有许多不同种类的内部窗口,称为视图(View)。之所以称为视图,是因为这些窗口是以不同的视野来看整各项目。例如,大纲视图(Outline)可查看项目中当前选中的源文件的概略状况,如类名、方法名等。如下图所示。


视图主要控制在菜单和工具上显示什么内容。例如,在【窗口】【打开透视图】
【Java】中,一个Java 视图包括常用的编辑Java源程序的视图;而在【窗口】
【打开透视图】
【调试】中,用于调试的透视图则包括调试Java程序时要用到的视图。
10.【帮助】菜单
帮助(Help)菜单主要是提供有关使用工作台的说明,如下图所示。例如,【欢迎】这个指令会开启欢迎使用内容。【帮助内容】这个指令显示说明视图。说明视图含有工作台和已安装特性的相关信息。【安装新软件】这个指令会开启安装Eclipse的新插件和软件包等对话框。

2.2 使用Eclipse开始工作
2.2.1 创建Java项目
【范例2-1】 创建HelloWorld项目。使用项目向导创建一个Java项目。
本节视频教学录像:20分钟
通过前面的学习,读者对Eclipse工具应该有了一个基本的认识。本节学习如何使用Eclipse完成HelloWorld程序的编写和运行。
在Eclipse中编写应用程序时,需要先创建一个项目。在Eclipse中有多种项目(如CVS项目、Java项目及Maven项目等),其中Java项目是用于管理和编写Java程序的,这类项目是我们目前需要关注的,其他项目属于较为高级的应用,读者在有一定的Java编程基础后,可在参阅相关资料来学习它们的应用,创建Java项目的具体步骤如下。
⑴ 选择【文件】【新建】
【Java项目】命令,打开【新建项目】对话框,如下图所示。

⑵ 在弹出的【新建Java项目】对话框的【项目名】文本框中输入【HelloWord】文本,如下图所示。

⑶ 单击【完成】按钮,完成Java项目的创建。在【包资源管理器】窗口中便会出现一个名称为【HelloWorld】的Java项目,如下图所示。

2.2.2 创建Java类文件
【范例2-2】 创建Hello Word类文件。使用向导创建一个Java类文件。
通过前面创建Java项目的操作,在工作空间中已经有一个【Java 项目】了。构建Java应用程序的下一个操作就是要创建HelloWorld类。创建Java类的具体步骤如下。单击工具栏中的【创建类】按钮或者在菜单栏中执行【文件】
【新建】
【类】命令,
如下图所示,启动【新建 Java 类】向导。

⑴ 在【源文件夹】文本框中输入Java项目源程序的文件夹位置。通常系统向导会自动填写,如无特殊情况,不需要修改,如下图所示。

⑵ 在【包】文本框中输入该Java类文件准备使用的包名,系统默认为空,这样会使用Java项目的【缺省包】。
⑶ 在【名称】文本框中输入新建类的名称,如“HelloWorld”。
注意
在这里使用的类的名称和项目的名称一致,这并不影响使用,它们分别代表类文件和Java项目文件,需要注意区分。
⑷ 选中【public static void main ( String [] args )】复选框,向导在创建类文件时,会自动为该类添加main()方法,使该类成为可以运行的主类。
⑸ 单击【完成】按钮,完成Java类的创建,如下图所示。

2.2.3 在代码编辑器中编写Java程序代码
在编写代码之前,读者需要了解“类”、“包”和“文件”这三个概念(后续的章节会更为详细地讲解)。类可以看作是用户自定义的一种数据类型。由于Java是一门纯面向对象的编程语言,在Java项目中,会用到大量的类。如果项目大了,难免会产生类的名称是相同的。例如,在“圆柱体”工程和“球体”工程中,它们可能都有相同的类名——体积类,而对于Java编译器来说,相同的作用范围内,类的名称必须是唯一的(即无二义性)。为了解决这个问题,Java就用“包(Package)”的概念,让有可能重名的类处于不同的“包”里。这样,“圆柱体”包里的“体积类”和“球体”包里的“体积类”就可以区分开了。
如同有两个人都叫“张三”,他们客观存在着,且都不想改名,为了区分二位,我们可用“河南的张三”和“河北的张三”来加以识别。这里的“河南”和“河北”,在一定意义上,就可以理解为是不同的“包”。有了“包”的概念,可以在很大程度避免类、方法等的重名。Java里的“包”概念和C++中的“名称空间(Namespace)”有着类似的含义。而所有的类都必须保存于某个特定的文件之中,这也就是源码文件(即.java文件)。
【范例2-3】 在代码编辑器中编写HelloWorld程序代码(HelloWorld.java)。
编辑器位于Eclipse工作台的中间区域,该区域可以重叠放置多个编辑器。编辑器的类型也可以不同,但是主要的功能都是完成Java程序、XML配置等代码的编写或者进行可视化设计工作。下面介绍如何使用该编辑器和使用代码辅助功能,来快速编写Java应用程序。
1. 打开编辑器
当使用创建Java类向导完成Java类文件的创建后,在Eclipse的工作台上会自动打开Java编辑器新创建的Java类文件。打开Java编辑器的方法如下。
⑴ 在【包资源管理器】窗口中,双击或者右击Java源文件HelloWorld.java,如下图所示。

⑵ 在弹出的快捷菜单中执行【打开】命令,便可打开Java编辑器界面,如下图所示。

提示
在Java代码编辑器的左侧右击,在弹出的快捷菜单中选择【显示行号】菜单项,可以启动Java编辑器自动显示行号的功能。
2. 编写Java程序代码
Eclipse具有强大的Java语法突出显示功能。例如,Java编辑器能以各种样式(如字体加粗或斜体等)和不同的颜色来突出显示Java语法(如用紫色显示Java关键字,绿色显示注释部分)用户可根据自己的习惯在菜单栏【窗口】【首选项】
【Java】
【代码样式】中做个性化的设置。其中被突出显示的语法包括程序代码注释、Javadoc注释、Java关键字、变量以及字符串等。
此外,Eclipse还有不错的代码辅助功能。例如,在编写Java程序代码时,可以使用【Ctrl+Alt+/】组合键自动补全Java关键字,也可以使用【Alt+/】快捷键启动Eclipse的代码辅助菜单。下面介绍如何使用Eclipse的代码辅助功能完成Hello world类的代码编写,具体的操作步骤如下。
⑴ 在【包资源管理器】窗口中,双击【HelloWorld.java】Java源文件。
⑵ 在Java代码编辑器的左侧右击,在弹出的快捷菜单中选择【显示行号】菜单项,如下图所示。


注意
下面仅需在第6行代码中输入“System.out.println("Hello World!");”代码,就可以完成输出Hello World!语句的功能。
⑶ 在第6行代码中输入Sys后按住【Alt+/】快捷键启动Eclipse的代码辅助菜单,使用上下方向键移动选中的项,按回车键确认,也可直接用鼠标在辅助菜单中双击选中System项,便可自动输入该项,如下图所示。

⑷ 按照相同的方法,完成“System.out.println("Hello world!");”语句的输入,如下图所示。

⑸ 在Eclipse中读者还可以直接选择【sysout -打印到标准输出】选项来完成输出语句的快捷编写。第(3)步和第(4)步中的非快捷编写,如果用户想输入“System.out.println( )”,用户需要多用2次智能提示才能完成。在完成System的输入后,按下点“.”,从可选项中选择“out”,如下图(左)所示。
然后,在完成“out”输入后,接着输入点“.”,从可选项中输入println(),如下图(右)所示。


而如果读者选择【sysout -打印到标准输出】选项,则一次性的输出语句“System.out.println();”,如下图所示。

⑹ 如果在输入的过程中出现了漏输入或者错误的输入,将鼠标停留在红色处,编辑器会做出正确的语法提示,如下图所示。

⑺ 如果完成了完整语法的输入,最后没有输入【;】语句结束符号,系统也会给出正确的语法提示,如下图所示。

⑻ 完整的代码如下所示。
01 public class HelloWorld { 02 public static void main(String[]args){ 03 System.out.println("Hello world!"); //输出"Hello World!"到控制台 04 } 05 }
2.2.4 运行Java程序
【范例2-4】 运行HelloWorld程序。在控制台中显示HelloWorld程序运行结果。
前面所创建的HelloWorld类是包含main()主方法的,它是一个可以运行的主类。具体运行方法如下。
⑴ 在【包资源管理器】窗口中,右击【HelloWorld.java】Java源文件。
⑵ 在弹出的快捷菜单中执行【运行方式】【Java应用程序】命令,在弹出的【保存并启动】对话框中单击【确定】按钮,保存并启动应用程序。如果选中【在启动前始终保存资源】,那么每次运行程序前将会自动保存文件内容,从而跳过下图对话框。

⑶ 单击【确定】按钮后,程序的运行结果便可在控制台中显示出来,如下图所示。

2.3 在Eclipse中调试程序
本节视频教学录像:7分钟
在Eclipse中,交互式运行代码是其最强大的特性之一。使用JDT调试器,可以逐行执行Java程序,检查程序不同位置变量的值,这个过程在定位代码中的问题时非常有用。
为了准备调试,需要在代码中设置一个断点,以便让调试器暂停执行,而允许进行调试,否则程序会从头执行到尾,就没有机会调试了。在编辑器左边灰色边缘双击,这里将第3行代码println()函数位置设置为断点,此时会显示一个蓝色的小点,表示一个活动的断点,如下图所示。

在调试器中运行程序和正常运行类似,Eclipse提供了两个选项:【Java应用程序】和【调试】。
⑴ 在代码中右击,在弹出的快捷菜单中单击【调试方式】【Java应用程序】选项,如下图所示。

Eclipse将会启动程序,在弹出的对话框中单击【是】,并选中【记住我的决定】,如下图所示。

⑵ 自动切换到调试透视图,在断点暂停执行。如前文所述,所谓视图,就是工作台中的不同种类的内部窗口。调试透视就是方便调试程序,其显示的几个与调试相关的小窗口,包括【调试】视图、【变量】视图、【源代码】、【大纲】视图及【控制台】等。如下图所示。

Eclipse 平台的特色在于内置了 Java 的调试器,该调试器提供所有标准调试功能,包括进行单步执行、设置断点和值、检查变量和值以及暂挂和恢复线程的能力。调试视图作为Eclipse调试透视图的一部分,如上图(左上窗口)所示,调试视图在工作台中管理程序的调试和运行,它为调试中的每个目标显示其暂挂线程的堆栈帧。程序中的各个线程以作为树的节点出现,而调试视图则显示运行中的各目标的进程。⑶ 在代码中右击,在弹出的快捷菜单中单击【调试方式】【调试配置】选项,打开【调试配置】对话框。这里采用的是对调试选项的一些标准配置,如下图所示。

除此之外,Eclipse还支持远程Java调试。这种情况下,用户要选择左侧视图中的【远程Java应用程序】项,可以创建一个新的远程启动配置,如输入运行 Java 程序的远程主机的 IP 地址或域名等。
⑷ 单击上图中的【调试】按钮,Eclipse将会回到调试透视图,在断点暂停执行,如下图所示。

程序执行到断点被暂停后,可以通过Eclipse窗口工具栏中的按钮进行相应的调试操作。例如在【调试视图】选择继续、停止等,如下图所示。

2.4 高手点拨
本节视频教学录像:3分钟
1. 英文Windows 7下Eclipse的中文界面切换
如果读者的Windows 7是英文版本的,还想使用中文版本的Eclipse,除了在2.1.2小节介绍的下载多国语言包之外,还要在桌面的Eclipse图标,右键单击【Property】,在出现界面的【Target】文本框中添加启动参数:D:\eclipse\eclipse.exe -nl "ZH",如下图所示,然后单击【OK】,即可完成Eclipse的中文界面转换。这里的“ZH”表示中文,而“D:\eclipse\eclipse.exe”是英文版Windows 7操作系统下的Eclipse所在路径。
2. Eclipse的英文界面恢复
虽然Eclipse的中文版更适合初学者,但建议英文基础比较好的读者,直接用英文版的Eclipse,这将对以后的学习有很大帮助,习惯于英文开发环境亦是一个Java高手的特征之一。如果Java学习有了一定的时间,读者想将中文的Eclipse切换回英文版,其实不用将2.1.2小节安装的多国语言包删除,仅在快捷方式中目标的地址后面加上参数(-nl "区域语言代码"),即可实现界面语言的切换,如:
D:\eclipse\eclipse.exe -nl "EN"。
如下图所示,其中“D:\eclipse\eclipse.exe”是Eclipse的所在路径,“EN”表示英文。

启动Eclipse的中文界面

还原Eclipse的英文界面
3. Eclipse并不是Java程序开发的必选项
学习Java过程中,要对Eclipse有个客观的认识。事实上,Eclipse仅是一个好用的Java集成开发环境,并不是学习Java的“标配”,等读者有一定的编程经验,可完全脱离Eclipse来开发Java程序。可用编辑器如Notepad++、Utraedit等(Linux下可以使用vim或gedit)来编辑Java源代码,然后用Oracle公司提供的JDK,仅使用javac和java等命令就可实施Java程序的开发。
4. 常用的Eclipse快捷键
读者如果能熟练使用Eclipse的快捷键,可提高Eclipse的使用效率。下表给出使用频度较高的快捷键。

2.5 实战练习
本节视频教学录像:6分钟
在Eclipse中创建一个项目并编写程序,实现在控制台输出“《Java从入门到精通》是学习Java的好助手!”,程序运行结果如下图所示。
