开发工具介绍1Java开发工具包(JDK)JDK是Java开发工具包(JavaDevelopmentkit)的简称,是整个Java的核心,由Java运行环境(JavaRuntimeEnvironment,JRE)、一系列Java开发工具和Java基础类库(rt.jar)组成。JDK自发布起便被sun公司不断升级,目前最高版本是JDK1.6.13。1.1安装开发环境(工作路径、环境变量的含义和设置)1.1.1JDK安装下载JDK:在开始编写Java程序之前需要安装JDK。JDK的最新版本可以从sun公司主页()下载,注意JRE只是一个Java运行环境,是专为只需要运行Java程序而不进行Java开发的用户准备的。图1.1sun公司网站的JDK下载页面sun公司提供了适用于不同操作系统的JDK版本。选择适用于当前操作系统的版本下载(一般选择windows-i586版本)。下载完后双击可执行文件开始安装。开始安装:选择安装路径和安装组件(一般使用默认安装,如果使用JDK1.6.13版本,则默认路径为C:\ProgramFiles\Java\jdk1.6.0_13)。点击下一步,等待安装过程结束即可。1.1.2工作路径在使用命令行操作界面时,需要注意工作路径问题。工作路径是指当前用户操作所在的文件夹路径。点击“开始”“运行”,输入“cmd”启用命令行,则进入当前用户的默认工作路径。图1.2启用命令行例如,当当前用户为Administrator时,正常启动命令行时,出现如图1.3所示的操作界面,其中光标所在的行显示的内容(C:\DocumentsandSettings\Administrator)即为当前默认工作路径。图1.3进入命令行操作界面在当前目录下输入“help”可以查看可用命令,使用“cd”+路径可以切换工作路径。注意,如果当前工作路径与目标工作路径不在同一盘符上,则首先应当进行盘符切换。例如,如果当前用户想默认工作路径,切换到E:\workplace,则应当首先键入“E:”切换盘符,在使用“cd”命令切换工作路径。该过程可参见图1.4。图1.4切换工作路径工作路径代表当前用户所在的文件夹。即,出当前路径之外的其他路径下的文件不能被直接访问,如果想要访问则需要给定路径。例如,假设当前用户处在于默认工作路径下时,对E盘下workplace文件夹中的文件test.bat的直接访问将不被允许,这是因为命令行会在当前用户所在的路径下搜索文件test.bat,然而目标文件并不存在。如果想让test.bat被访问,则需要添加绝对路径指明文件位置:E:\workplace\test.bat(test.bat中只有一个dir命令)图1.5使用绝对路径访问目标文件1.1.3环境变量当命令行执行命令时,会首先在当前工作路径中搜索目标文件。但是,很多情况下我们并不需要输入可执行程序的绝对路径也可以直接执行,例如当在命令行输入“explorer”时会打开资源管理器。这是因为,如果系统没有在当前路径下搜索到目标文件,则系统会参照系统环境变量搜索相关路径。例如,当我们在系统环境变量“PATH”中添加test.bat的绝对路径时,我们在任意目录下均可对位于E:\workplace\test.bat进行访问:图1.6设置环境变量之后直接访问目标文件在使用JDK之前,首要的事情就是关注环境变量。因为当我们编译、执行程序文件时,系统必须能够找到目标文件所在的位置。例如,当我们在一个类中作如下声明时:importjava.util.Vector;publicclassTest{……}我们希望编译器可以为我们载入java.util.Vector类。但是实际上,该类是一个已经编译好的“.class”文件,编译器在编译过程中会设法找到该文件并供程序使用。与命令行操作一样,编译器会首先在当前目录搜索目标文件,如果当前工作路径中不存在目标文件,则编译器会根据环境变量中的相关设置进行搜索。PATH变量:PATH变量是Windows操作系统搜索非系统文件时使用的路径。当我们从命令行输入“java”、“javac”等命令时,同样,操作系统会首先在当前工作路径中搜索名为“java”、“javac”的文件。如果搜索失败,则会转而搜索PATH环境变量中指定的路径。因此,为了能够使用Java工具包,首要步骤是设置PATH环境变量,使其指向java工具所在的路径。通常,PATH变量会有多个值,每个值之间用“;”分割。在目标文件搜索过程中,变量的每个值会按照出现次序被逐一访问。例如,当PATH的value为“C:\ProgramFiles\;D:\ProgramFiles”时,C盘下的ProgramFiles将会先于D盘被访问。在正常情况下,“java”、“javac”等可执行文件位于JDK安装目录的bin文件夹下。例如,JDK的安装路径为C:\ProgramFiles\java\JDK时,PATH路径中应当添加路径C:\ProgramFiles\java\JDK\binCLASSPATH变量:PATH变量被操作系统用于搜索可执行文件,然而被javac编译测“.class”文件通常被打包至“.jar”文件中。Java编译器可以通过CLASSPATH变量中指定的“.jar”包搜索“.class”文件,因此为了正常使用JDK提供的类库和其他工具包,我们需要设置CLASSPATH变量以便编译器能搜索到java程序中出现的相关类。举例说明CLASSPATH的作用:importjava.util.Vector;publicclassTest{Test2t2;}在以上代码中出现了Vector、Test2两个类。Java编译器在编译该程序时,会从CLASSPATH中指定的路径搜索这两个类,如果没找到目标类文件,则提示编译错误。CLASSPATH变量的value搜索顺序与PATH相同。通常,在Java开发中使用的最多的是一个“tools.jar”包,该包就是Java类库,其中包含了Java的大部分实用类。tools.jar包位于安装文件夹的lib文件夹下。除了tools.jar之外,我们还需要将当前工作路径设置进CLASSPATH中,以使编译器可以直接搜索到当前工作路径中的类文件。当前工作路径使用“.”表示。例如,JDK的安装路径为C:\ProgramFiles\java\JDK时,CLASSPATH变量的值应为:“.;C:\ProgramFiles\java\JDK\lib\tools.jar;”1.1.4环境变量的设置环境变量有命令行方式和直接设置两种设置方法。命令行设置:setvarName=value例如,当需要设置当前命令行的PATH变量时,就可以输入以下命令:setPATH=C:\ProgramFiles\java\JDK\bin;%PATH%上述命令表示在当前path变量的开头添加一个新的值,同样的方法可以设置CLASSPATH变量。设置结果可以参见图1.7。图1.7命令行方式设置环境变量直接设置:打开“我的电脑”的“属性”,选择“高级”菜单,点击下方的“环境变量”按钮。图1.8打开环境变量设置图1.8设置环境变量“系统变量”必须具有管理员权限才能进行操作。普通权限直接在用户变量中执行添加、修改和删除。用户变量被访问的优先权高于系统变量,且不会发生冲突,即当用户变量和系统变量中均存在一个PATH变量时,用户变量中的PATH会被优先使用。在用户变量中新建“PATH”和“CLASSPATH”两个变量,点击“确定”结束设置。注意,命令行方式设置的环境变量只对当前命令行有效,当命令行退出时设置即失效。直接设置时,如果有命令行窗口在运行,则新的环境变量对其不起作用。重启命令行就可以使用新的环境变量了。1.2java、javac、jar、javadoc命令java、javac、jar、javadoc命令等几个命令是在Java开发中最常用的几个命令,这些命令都是存在于bin文件夹下的可执行文件,设置PATH变量之后可以直接在命令行中任意工作路径下直接使用,直接输入命令不加任何参数可以查看命令的使用说明。1.2.1Java命令Java命令用于执行class文件中的main方法,使用格式为:Usage:java[-options]class[args...](toexecuteaclass)orjava[-options]-jarjarfile[args...](toexecuteajarfile)-option:可选参数,java命令的附加属性,可以用于定义java命令的执行方式。常用的参数有:-?查看帮助信息,也可以直接输入java不带任何参数进行查看;-version,查看JDK版本信息;-cp,类路径搜索(如果需要执行的目标类文件不在当前工作路径,则需要指定类所在的位置);class:当前工作路径(或者由-cp指定的路径)下的需要被执行的“.class”文件。其中,该参数必须为具有main方法的类的类名,其后不需要加任何后缀名。如果目标类中不存在main方法,则会抛出执行异常:Exceptioninthreadmainjava.lang.NoSuchMethodError:main。args:可选参数,表示main方法的传入参数,可以是任意字符串。例如,当main方法被声明如下时:publicstaticvoidmain(Stringargs[])参数值被传递进main方法中的args中。多个参数值之间用空格分隔。java命令也可以用于执行.jar文件。前提是,该.jar文件中指定了main方法所在的类,参数的含义与执行“.class”文件相同。需要注意的是,jarfile参数中需包含“.jar”文件的后缀名。例1:java命令的使用:执行当前工作路径下的Test.class:javaTest执行C:\src下的Test.class:java–cpTest传入参数:javaTestvalue1value2执行Test.jar:java–jarTest.jar1.2.2javac命令javac命令用于编译“.java”文件,根据“CLASSPATH”变量指定的值搜索目标文件中引用的其他“.class”文件。直接在命令行输入“javac”可以查看该命令的使用说明。用法如下:javac[-option]source-option:可选参数,制定命令的执行方式。如果不选,则按照默认方式编译当前工作路径下的目标文件。常用的参数有:-help:查看帮助信息,与直接输入“javac”命令效果相同;-classpath:如果目标文件中引用的某些类不在CLASSPATH变量的值所指定的路径中,则需要通过此参数指定其所在的路径,指定之后如果直接跟类名,则表示使用指定的CLASSPATH路径编译当前工作路径中的目标文件;-version:查看版本信息;-d:指定被编译的文件存放的位置。该参数在编译使用了“package”打包的“.java”文件时经常使用;-g:生成调试信息。source:目标文件的完整文件名,需要大小写匹配并且加上后缀名。如果目标文件不在当前工作路径下,则需要对文件路径进行指定。例2:javac命令的使用:编译当前路径下的Test.java:javacTest.java编译C:\src下的Test.java:javacC:\Test.java使用C:\src作为CLASSPATH编译C:\下的Test.java:javac–cpC:\srcC:\Test.java将所有编译的文件放入C:\src文件夹下:javac–dC:\src*.java1.2.3javadoc命令javadoc命令将“.java”文件中的注释信息编译成标准的帮助文档。该命令有许多允许的参数,在此不做详述,举例说明使用方法:将当前路径下的所有“.java”文件连缀,生成帮助文档存入C:\doc目录下:javadoc–dC:\doc*.java使用这种方法,参与编译的所有类均会在一