Java面向对象思想与程序设计
上QQ阅读APP看书,第一时间看更新

1.3 Java开发与运行环境

在上节中我们看到了两个程序,虽然很短小,但结构却是完整的。本节中我们将利用这两个程序来初步了解程序是怎样编辑、编译、运行的,了解Java的开发运行环境,以及Java开发工具包的安装和环境变量的设置。

JDK的安装与配置

1.3.1 使用JDK

JDK是Java开发的基本工具集,也是各种开发和运行环境构建的核心。

1.下载安装Java开发工具包

登录Oracle官网http://www.oracle.com/,下载jdk-8u111-windows-x64.exe到本地硬盘,双击安装程序,在安装过程中需指定安装路径,在之后的环境变量设置时会用到该路径。

2.配置环境变量

所谓环境变量(Environment Variables),一般是指在操作系统中用来指定程序运行环境的一些参数。JDK涉及的环境变量主要有3个:JAVA_HOME、PATH、CLASSPATH。其中, JAVA_HOME表示JDK的安装目录,它的作用是使其他软件如TOMCAT、Eclipse等引用JAVA_HOME可以查找到JDK。PATH表示路径,它的作用是指定命令搜索路径,在命令行执行命令(如java或者javac,即搜索java.exe和javac.exe)时PATH负责提供关于这些命令存储位置的搜索路径。变量CLASSPATH的作用是提供类搜索路径。

下面以Windows7为例说明JDK1.8环境变量的设置方法。

(1)在桌面上将鼠标移至“计算机”图标上并单击右键,选择“属性→高级系统设置→环境变量”;

(2)在系统变量列表的下面单击“新建”按钮,在如图1-4所示的对话框中输入变量名和变量值;

图1-4 设置环境变量JAVA_HOME

(3)在系统变量列表中找到“Path”并双击,在“编辑系统变量”对话框中“变量值”处将光标移到最后,并添加“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”;在系统变量列表的下面单击“新建”按钮,在图1-4所示的对话框的“变量名”处输入“CLASSPATH”,在变量值处输入:“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt. jar,%JAVA_HOME%\lib\tools.jar。”\lib\dt.jar,%JAVA_HOME%\lib\tools.jar。”

在变量值序列中,“.”表示当前路径,“;”分隔不同路径,%JAVA_HOME%表示相对路径,也可以使用绝对路径进行相关配置。

3.JDK组成

JDK是Java开发工具包,它包含开发程序所需要的工具,如编译、运行、调试等。要使用这个工具,需要首先了解它的组成。JDK各个版本的目录结构相同,但具体内容随版本而异。

(1)开发工具。在JDK的bin子目录中包含了典型的开发工具,如编译器javac.exe、解释器java.exe、小程序浏览器appletviewer.exe、调试工具jdb.exe、建立文档工具javadoc.exe等。

(2)运行环境。Java运行环境即JRE(Java Runtime Environment),在JDK的jre子目录中提供了执行Java程序运行的软件环境,其中包含了Java虚拟机、Java基础类库和支持文件等。和JDK不同,JRE不包含编译器、调试器等工具,但是它包含了程序运行必需的组件。

JRE一般不需要单独下载安装,它随JDK的下载安装同时完成自身的安装。在jre子目录下的bin目录中存放着的就是程序运行必要的组件。JDK和JRE各司其职,只不过安装时把它们放在了一起。

(3)源代码。在JDK根目录的src.zip文件中,包含着Java核心API(Application Programming Interface,应用程序接口)和所有类的源代码,即java.*、javax.*和部分org.*包中的源文件。浏览一下源代码可以了解Java类库结构和类的具体内容,这是学习和掌握Java的一条便捷之路,因为从类文档和教科书中读者能够看到的只是关于类的属性和方法的概要描述,如果想详细了解某个方法的定义,可以研究其源代码。

(4)附加类库。在lib子目录中提供了开发所需的其他类库和支持文件。

(5)样本代码。在examples子目录中提供了某些API和SPI(System Programming Interface)的例子程序,例如List.java。

4.程序的编辑、编译和运行

程序的编辑编译和运行

有了JDK,我们以Example1_01.java和Example1_02.java为例,说明Java应用程序和小程序是如何编辑、编译和运行的。

(1)编辑:JDK中没有提供编辑器,可以使用Windows提供的记事本程序编辑例1.1的程序。打开记事本程序并输入例1.1的程序,然后选择菜单“文件→另存为”,在“另存为”对话框中选择存放程序的文件夹、文件名和文件类型,如图1-5所示。文件名必须与public类的名字相同(包括大小写),再加后缀“.java”;文件类型必须选择“所有文件”,否则保存程序时会在文件名后加一个多余的后缀“.txt”。

(2)编译:程序编辑完成后,打开一个命令窗口,在命令窗口中转换路径、编译并运行程序,如图1-6所示。

图1-5 程序编辑和保存

图1-6 程序的编译和执行

(3)运行:编译如果没有遇到语法错误,则会生成字节码文件Example1_01.class,编译器顺利完成编译后,悄然返回DOS提示符下,即图1-6中D:\ch1>,这种低调的风格可能用户未必都喜欢。但是不管怎么说,第2步完成了!下一步就可用Java启动JVM执行程序,得到执行结果。如图1-6所示。万一出现了语法错误,初学者可能感到沮丧,其实大可不必,从错误中学习也许进步更快呢!语法错误牵涉具体的语法规则,这里不能细说,仅举一个丢标点符号的简单例子说明一下,参见图1-7。

(此处,为了故意制造一个错误,请在记事本中再次打开程序文件Example1_01.java,删掉语句末尾的“;”,重新保存文件,再编译,就出现了图1-7所示的语法错误,看来编译器检查到了这一错误,并且给出错误提示信息。它在尽职尽责地工作!)

图1-7 编译过程语法错误提示

小程序的操作,前2步与应用程序的一致。第3步,就是执行方法有所不同。

需要在记事本中建立一个HTML文件,并保存。然后,用appletviewer执行。在HTML文件中嵌入第2步编译生成的字节码文件Example1_02.class。

HTML文件命名为mypage.html。

 

<HTML lang="zh-CN">

<HEAD>

<TITLE>My First Java Applet</title>

</HEAD>

<BODY>

Here's my first Java Applet:

<applet code=Example1_02.class width=300 height =40></applet>

</BODY>

</HTML>

打开一个命令窗口,在命令窗口中输入命令“appletviewermypage.html”,程序运行结果如图1-8所示。HTML文件当然可以采用浏览器执行。

图1-8 小程序执行结果

1.3.2 使用IDE

使用记事本编辑程序有诸多不便,最大的不便是记事本没有自动语法检查和报错功能,以及项目管理功能。而集成开发环境可以使开发、调试、运行更方便。本节将介绍Eclipse的使用方法。

Eclipse简介

Eclipse基本操作

1.Eclipse简介

Eclipse是开源项目,读者可以到 www.eclipse.org网页免费下载Eclipse的最新版本。下载时有两个选择:Eclipse IDE for Java EE Developers和Eclipse IDE for Java Developers,建议读者选择前者,因为它包含了后者的功能,且为后续课学习或当下拓展学习提供了方便。

Eclipse本身是用Java语言编写的开发工具,但下载的压缩包中并不包含Java运行环境,需要用户自己另行安装JRE,并且要在操作系统的环境变量中指明JRE中bin的路径。安装Eclipse时只需将下载的压缩包直接解压即可。

下载的压缩包解压之后,双击运行eclipse.exe,会看到软件界面如图1-9所示。

图1-9 Eclipse主界面

2.Eclipse基本操作

Eclipse是一个集成开发环境,它包括创建项目、编写、编译、运行和调试等基本操作和一些辅助操作。

(1)建立Java项目。选择菜单“File→New→Java Project”,命名项目,确认完成(finish)即可。

(2)创建包。选中项目中的src目录,单击鼠标右键“ New→Package”,命名后确认即可。

(3)创建类、添加属性和方法。在包名上单击鼠标右键,选择“New→Class”,输入类名并按“finish”键即可创建类,同时进入该类的设计窗口,为类添加属性和方法,如图1-10所示。

图1-10 类设计窗口

3.Eclipse调试程序的方法

程序中的错误包括语法错误、运行时错误和算法逻辑错误。编译时可以找出语法错误,运行时可以发现算法和逻辑错误。在程序编译通过后,如果不能获得预期的执行结果,说明程序中潜藏着错误,即所谓的bug。调试程序就是找出bug,术语debug就是这个意思。通过调试找出问题代码后进行修改,使其变成正确的程序。

在Eclipse中调试的步骤如下。

(1)首先打开欲调试的项目。

(2)如图1-11所示,在程序中找到想要调试位置的代码行的前方双击设置断点,或者把鼠标移动到代码行,用快捷键Ctrl+Shift+b设置断点。(注意line 7前面的圆点,就是所设的断点)。

(3)在程序窗口单击鼠标右键,选择“Debug As→Java Application”。在弹出的对话框中单击Yes,进入debug模式。在debug窗口的左下方是程序执行窗口,如图1-12所示。

图1-11 在程序行设置断点

图1-12 debug调试程序

(4)单步执行。F5键和F6键为单步调试命令,F5(step into)键可以使调试跟踪到被调方法中,F6(step over)键直接调用方法而不跟踪方法的执行,F7键是跳出方法返回到主调方法处。

图1-13 debug过程中变量值窗口

(5)在单步执行过程中,可以看到代码中的变量与对应值,如图1-13所示,读者可以结合当前语句进行对比分析。