第 1章 Java开发工具及环境设置
Java是很出色的面向对象高级语言,面向对象技术将在第 7章介绍,这里只需要读者知道这个概念。
正如 C语言,C++语言,Delphi语言一样,任何高级语言都需要一个运行平台,即编写 Java语言的计算机应用程序需要一个编辑、编译和运行的环境,这里将详细介绍 Java高级语言的开发工具及相应的环境设置。读者在熟练掌握这些知识的基础上,就可以编写简单的 Java程序了。
1.1 Java开发工具简介
Java语言是一种解释性的语言,即读一句程序执行一句,这样就需要一个解释器完成源程序到机器语言的翻译过程,同时 Java是跨平台的语言,
跨平台是指 Java程序可以在安装任何操作系统的计算机上运行,其前提是需要安装虚拟机( JVM),
而虚拟机和解释器都是 Java JDK的一部分,JDK是
Java开发工具集的意思,它包含一套工具,如刚才讲的源程序解释器,JVM、还有编译工具
( Javac.exe),Java执行程序( Java.exe)等。
如果想让运行程序的计算机知道这些工具的位置,
并找到这些工具,就需要下载、安装并配置这些工具。
1.2 如何下载并安装 JDK
Sun公司提供免费的 JDK工具,这些工具包括在各种平台上运行的版本,如在 Windows平台、在 Linux平台、在 Macintosh平台等,用户可以根据自己的选择来确定下载哪类工具。笔者下载的是运行于 Windows平台的版本( J2SDK1.4.2_07)。下载地址为
www.sun.com,下载适合自己平台的 JDK。
下载完成后是可执行程序,如笔者使用的是 J2SDK1.4.2_07.exe,
双击安装程序,只需要不断单击安装界面的“下一步”按钮,就可以顺利完成安装。这里需要注意安装目录,因为在环境设置中要清楚的知道该 JDK的安装目录。安装目录的选择如图所示。
1.3 JDK内置工具
Java程序需要运行环境的支持,同时编译、解释
Java程序、执行 Java应用程序和 Java小程序也需要必要的工具,本节重点讲解 JDK中包含的 5种常用工具,即 Javac.exe,Java.exe、
appletviewer.exe,Javadoc.exe和 Javap.exe。
在 SUN的 JDK中还集成了 Java虚拟机( JVM),JVM
提供了 Java程序的运行环境,它负责解释,class
文件( Java源程序经过编译后的文件),并提交给机器执行。这里对 JVM不再做过多的说明,读者只要知道它的作用就足够了。
1.3.1 JDK常用工具
JDK是一个开发工具集合,作为实用程序,工具库有 5种主要程序:
( 1) Javac,Java编译器,将 Java源代码转换为字节码(生成和源文件名同名的,class文件)。
( 2) Java,Java解释器,执行 Java源程序的字节码。
( 3) appletviewer:小应用程序浏览器,执行嵌入 HTML文件中的 Java小程序的 Java浏览器。
( 4) Javadoc:依据 Java源程序和说明语句生成各种 HTML文档。
( 5) Javap,Java反汇编器,显示编译类文件中可访问的功能和数据,显示字节码的含义。
1.3.2 JDK常用工具示例
在 1.3.1节已经详细介绍了各种实用工具的含义,这里就依次介绍如何使用这些工具给出一个具体实例。
Javac和 Java工具在 1.6节通过一个 Java应用程序详细说明了其用法。这里我们介绍 1.3.1节的其他工具的使用,借用 1.6节中的 Java应用程序
JavaApplet.Java。如图所示,说明如何使用 appletviewer。
如图所示,说明如何使用 Javadoc。
1.3.3 应用程序发布工具( jar)
JAR文件被打包成 ZIP文件格式,所以可以使用 JAR文件实现压缩和解压缩数据,jar工具可以实现应用程序的发布,把应用程序所需要的资源如类,视频、音频、图片等资源打包成,jar文件,该文件具有跨平台特性,可以在任何运行虚拟机的操作系统平台上执行。
Jar工具是 JDK的一部分,使用该工具实现 JAR文件的基本功能。
Jar指令将启动打包工具软件,根据自己的需要调用不同的参数实现打包资源文件。表为 jar工具指令格式和操作指令的功能。
1.4 jar文件的创建与查看
本节将详细介绍如何实现最常用的打包方法。包括创建,jar文件,查看 jar文件的内容,提取 jar
文件的内容,更新 jar文件和运行打包的 jar软件。
通过本章的学习,了解 Java中 jar工具的真正意义与功能。
1.4.1 创建 jar文件
创建,jar文件的基本命令格式为:
jar cf jar-file input-file(s)
其中每个选项或参数的的含义如下:
jar:启动 JDK的 jar工具 。
c:该选项表示此时调用 jar工具目的是创建一个 JAR文件 。
jar-file:该选项表示打包的结果文件名,该文件生成后有,jar扩展名,该文件的名称没有要求,只要便于理解记忆即可 。 可以在创建 jar文件时就在 jar-file后添加,jar扩展名,默认不用添加扩展名 。
input-file(s):该参数表示,添加到 JAR文件中的文件 。 该参数可以包含通配符 *,也可以包含目录 ( 一个或多个 ),如果是目录则把目录下的所有文件依次打包进 JAR文件 。
指令 Jar cf 会在当前目录下生成一个经过压缩 JAR文件,并且产生一个默认的 manifest文件,该文件会列出 JAR文件中的所有文件。
1.4.2 查看 jar文件的内容
查看文件的基本操作指令如下所示。
jar tf jar-file.jar
下面分析一下该命令的参数可选项的含义。
t选项说明查看 JAR文件的内容列表。
f选项指明需要查看的 JAR文件必须在命令行中说明。
jar-file参数是需要查看的 JAR文件的路径和名字。
下面通过具体的例子说明如何查看 JAR文件的内容,以及显示结果 。 使用 Jar工具查看 ImageAudio.jar文件的内容,注意这里的 ImageAudio.jar文件是带目录结构的 。 指令格式如下:
jar tf ImageAudio.jar
1.4.3 提取 jar文件内容
提取文件 JAR文件内容的指令格式如下所示。
jar xf iar-file [archived-file(s)]
下面分析一下该命令的参数可选项含义。
x选项说明提取 JAR文件的内容。
f选项指明需要提取的 JAR文件必须在命令行中说明。
jar-file参数是需要提取的 JAR文件的路径和名字。
archived-file(s)是可选参数,包含从 jar-file
中提取的文件的列表,如果没有该可选项,则默认是提取 jar-files中的所有文件。
1.4.4 更新 jar文件
Jar工具提供了 u参数向已经存在的 JAR文件中增加新的文件,其基本指令格式如下所示。
jar uf jar-file.jar input_file(s)
下面分析一下该命令的参数可选项的含义。
u选项说明需要更新 JAR文件的内容列表。
f选项指明需要更新的 JAR文件必须在命令行中说明。
jar-file参数是需要更新的 JAR文件。
input_file(s)表示需要增加到 JAR文件中的文件列表。
1.4.5 运行打包的 jar软件
至此,读者已经学习过了如何创建 JAR文件、提取
JAR文件的内容、向 JAR文件中添加文件,以及查看 JAR文件的内容。本节将介绍如何运行打包的应用程序以及 JAR文件在 Applet中的应用。考虑以下两种情形:
JAR文件包含 Applet,该 Applet在浏览器中运行。
JAR文件包含应用程序,该应用程序通过命令行启动。
下面依次介绍这两种 JAR文件的应用方式。
JAR文件包含 Applet。
1.5 JDK环境设置
在 1.3节我们学习了 JDK的常用工具,其中在 bin目录下的工具最为有用,在计算机上编译和执行 Java程序时需要知道编译和执行程序的工具,这样就需要设置环境变量。这里以 JDK1.4.2_07为例,
假设安装目录为 C:\jdk1.4.2_07,操作系统为 Windows 2000
Professional,进行详细的环境配置的步骤说明。
1.6 一个简单的 Java应用程序
现在,完成了 JDK的安装和相应的环境设置,下面以 Windows下记事本编辑一个 Java应用程序,并执行该程序,读者可以通过该程序的编译和执行对
Java程序的执行有个直观的认识。
( 1)编写源程序:打开记事本,编写如下代码 1-
1Java程序,并保存在 D盘根目录下,即
D:\MyFirstJavaProgram.Java。
( 2) 编译源程序:单击 【 开始 】 |【 运行 】 命令在运行对话框中输入,cmd”指令 。
( 3) 执行程序:在 DOS窗口中输入,Java
MyFirstJavaProgram” 。
1.7 一个简单的 Java Applet应用程序
还有一种小应用程序,即 Applet,其实它就是一段 Java代码,但这段代码可以以适当的方式嵌如
HTML页面。这里举一个简单的例子,让读者对
Java语言在网络上的应用有个直观和初步的认识。
1.7.1 编写一个 Applet
首先使用打开记事本,编写代码,且文件保存在 D盘根目录下文件名为 JavaApplet。 代码是一个简单的 Applet应用程序 。
代码 Applet应用程序
1 //2,3行导入实现 Applet需要的类库
2 import Java.applet.Applet
3 import Java.awt
4 //通过继承方式定义并实现一个 Applet类 JavaApplet
5 public class JavaApplet extends Applet{
6 public void paint(Graphics g){
7 //调用 Graphics对象 g的 drawString方法,在 html页面的指定位置打印一行字符串
8 g.drawString(“This is my first Java
Applet!”,20,10);
9 }
10 }
1.7.2 编写一个用来调用 Applet Java程序的 HTML文件
同样打开一个记事本,编写如下代码,同样保存在 D盘根目录下,
文件名为 Applet。 代码是一个 HTML页面文件 。
代码一个 HTML页面文件
1 <html>
2 <title> My Applet Test</title>
3 <h1>My Applet Test</h1>
4 <applet
5 //JavaApplet.class就是 JavaApplet.Java经过编译后的类,该类在这里得到调用
6 code =”JavaApplet,class”
7 width=250
8 height=250
9 name=”MyApplet”>
10 </applet>
11 </html>
1.7.3 Applet的运行过程
编译 JavaApplet.Java,在 DOS窗口中该文件所在的目录下输入,Javac JavaApplet.Java”,如果编译成功则如图所示。在同样的目录下输入
,appletviewer applet.html”,图是 Java
Applet的运行结果。
1.8 注释及内嵌式文档
良好的注释可以增强程序的可读性和可维护性,读者应该养成注释的习惯 。 Java支持 3种注释方式 。
( 1) 双斜线,//” 在程序中表示注释,注释的字句不会编译,即编译器会略过该行 。
如在代码 1-1中,有如下的注释:
//在 DOS窗口打印一行字符,Hello Java!!!
System.out.println(“Hello Java!!!”) ;
( 2)另一种注释方式,实现多行的注释,使用 /*多行注释内容 */这种方式。
( 3) 内嵌式文档注释 。 该类注释多用在集成开发环境下,
如 JBuilder,Eclipse等,其方式如下所示 。
/**
注释内容
*/
1.9 本章习题
( 1)学完本章后,读者需要回答:
1,JDK的作用是什么?
2.如何配置 Java的运行环境,具体步骤是什么?
3,JDK的常用工具及其如何使用?
4.模仿 1.5节,编写一个自己应用程序,更改程序输入的内容,并编译、
执行该程序。通过该程序试验 JDK工具( Java.exe,Javac.exe,
Javadoc.exe,Javap.exe)的使用,观察执行结果,增加对工具的感性认识。
5.编写一个类 MyJar.Java,该类的作用是在控制台打印一行字符串信息
,hello MyJar”,并对 MyJar.java文件打包处理,模拟应用程序的打包过程,注意如何设置 Manifest.txt文件,为了使模拟过程更真实,读者可以自定义一个音频文件和一个图形文件。然后将这些文件一起打包进应用程序。
( 2)注意事项。
1.在学习本章时,请自学阅读“说明”和“注意”字样的内容,往往忽视这些内容的细节会造成程序编译、运行的异常。会给初学者带来理解的困惑。
2.在使用 Jar工具时,注意各种参数的含义,在熟悉选项或参数的作用后再使用 jar工具的各种功能。