Java
程序的编译使用javac
命令,Java
程序的运行使用java
命令。
编译
编译Java
程序的目的,是把文本文件编译成.class
文件。
编译的主要工作
这个过程中完成的工作包括:检查语法错误和生成class
文件。
检查语法是否正确,代码应该符合Java
语法规则,如果发现语法错误,会提示用户错误的原因和位置,并终止编译,不会生成.class
文件。要想保证编译通过,需要对Java
的基本语法非常熟悉。如果引用了其他类,会在类路径中查找这些类。这些类可以在当前应用中,可以在classpath
(编译的时候会从classpath
中找)中声明,可以放在jdk
的类库路经下面,总之,编译器要能找到。否则的话也会报错。
生成.class
文件,如果没有编译错误,编译器会根据源文件生成class
文件,应用在运行的时候使用的是编译后的class
文件。
编译命令
Javac
命令是JDK
提供的命令,JDK
可以使用Sun
公司(现在属于Oracle
公司)的JDK
,也可以使用其他公司的JDK
。这里使用Sun
公司的JDK
。下载地址:
http://java.sun.com/javase/downloads/index.jsp
。安装过程不再介绍。具体版本使用JDK5
和JDK6
都可以。
编译可以采用手工的方式,在命令行中完成,也可以采用集成开发环境,自动完成。我们先介绍手工的方式,之后采用集成开发环境,毕竟工作之后大多数人会使用集成开发环境,并且集成开发环境能够提供开发效率,我们编写的时候可以提供语法错误,自动完成编译,代码修改后自动编译,可以为我们生成一些代码(后面介绍)。
手工编译需要知道JDK
中编译命令的位置,通常在Java
安装路径下面的bin
目录下(例如C:/Program Files/Java/jdk1.6.0/bin
)。
编译命令为:javac
用法:javac <
选项> <
源文件>
其中,可能的选项包括:
-g
生成所有调试信息
-g:none
不生成任何调试信息
-g:{lines,vars,source}
只生成某些调试信息
-nowarn
不生成任何警告
-verbose
输出有关编译器正在执行的操作的消息
-deprecation
输出使用已过时的 API
的源位置
-classpath <
路径>
指定查找用户类文件的位置
-cp <
路径>
指定查找用户类文件的位置
-sourcepath <
路径>
指定查找输入源文件的位置
-bootclasspath <
路径>
覆盖引导类文件的位置
-extdirs <
目录>
覆盖安装的扩展目录的位置
-endorseddirs <
目录>
覆盖签名的标准路径的位置
-d <
目录>
指定存放生成的类文件的位置
-encoding <
编码>
指定源文件使用的字符编码
-source <
版本>
提供与指定版本的源兼容性
-target <
版本>
生成特定 VM
版本的类文件
-version
版本信息
-help
输出标准选项的提要
-X
输出非标准选项的提要
-J<
标志>
直接将 <
标志>
传递给运行时系统
这些参数不用记,用到的时候再去查。或者在命令行下直接输入javac
,就可以看到。常用的有-d
在某个位置生成包的路径,-classpath
指定编译的时候用到的类库,也可以在环境变量中进行配置。
最简单的形式:
javac *.java
编译当前目录下的所有Java
文件。
要生成包的信息(例如Hello.java
所在的包为ch1
,可以在编译的时候创建一个包ch1
,并且把编译后的class
文件放在ch1
中),可以使用:
javac -d . *.java
d
后面的“.
”表示当前位置。
配置环境变量
配置环境变量path
和classpath
。
进入环境变量配置界面:右健点击[
我的电脑]
,选择[
属性]
,选择[
高级选项卡]
,选择[
环境变量]
。
配置path
:在[
系统变量]
中,查找“path
”。如果没有点击[
新建]
,在变量名输入框输入path
,在变量值输入框输入:C:/Program Files/Java/jdk1.6.0/bin
(最后使用复制粘贴)。如果已经存在path
,选中path
,点击编辑,在变量值的后面添加“;C:/Program Files/Java/jdk1.6.0/bin
”。
配置classpath
:在[
系统变量]
中,查找“classpath
”。如果没有点击[
新建]
,在变量名输入框输入classpath
,在变量值输入框输入:.
(表示当前位置)。如果已经存在classpath
,选中classpath
,点击编辑,在变量值的后面添加“;.
”。
注意:操作系统不同,配置的位置可能不同。JDK
的安装路径不同,变量值不同。不要删除原有的path
信息。一般情况下也可以不配置classpath
。
编译
进入命令行:点击Windows
的[
开始]
,点击[
运行]
,输入“cmd
”进入命令行。
测试javac
:输入javac
,回车,如果能出现javac
的帮助信息,说明javac
没有问题。
进入到源文件所在的位置(
操作过程与源文件位置有关,源文件e:/javabasic/ch1/src/ch1/Hello.java)
:
输入“e:
”
输入“cd e:/javabasic/ch1
”
输入:javac -d bin -sourcepath src src/ch1/*.java
如果没有错误,会在e:/javabasic/ch1/bin
下面创建ch1
文件夹,然后在ch1
中生成Hello.class
。
运行
使用java
命令,前面已经配置好环境变量了,这里直接使用即可。
java
命令的格式与javac
命令的格式类似,参数不同,可以在命令行下输入java
查看。要运行上面的程序,使用:
java -classpath bin ch1.Hello
classpath
指出类文件的位置,ch1
是包名,Hello
是类名。
记住:编译使用javac
命令,运行使用java
命令。手工编译和运行需要配置环境变量。
上一讲:
第六讲 编写Java应用
下一次介绍:集成开发环境Eclipse
中Java
程序如何编写和运行。
你现在可以试着编写一个Java程序,输出自己的学号和姓名等,然后编译、运行,相信多数人会遇到问题。