我想很多朋友在学习Java时都和我差不多,使用的是IDE进行练习,并没有直接用记事本写一个.java程序,然后用jdk的命令行进行编译并运行的经历,其实用命令行并不难,只是当程序中有package语句时,稍微有点麻烦。下面我就介绍一下用记事本开发java程序的基本步骤:
1)打开记事本,输入:
package test;
class Test
{
public Test()
{
}
public static void main(String[] args)
{
System.out.println("Hello lcrystal !");
}
}
保存为Test.java文件,位置可以任意,我保存在G盘。
2)开始~运行~输入cmd,打开命令行,切换到安装JDK的bin目录下,在我的机子上为:
D:/Sun/Java/jdk1.6.0/bin>
输入:
javac -d G: G:/Test.java
其中-d表示后面指定目录,G:表示在G盘中创建class文件,G:/Test.java是要编译的java文件。
运行后,在G盘会自动根据java文件中的package test;语句建立test文件夹,里面有Test.class文件。
3)输入:
java -cp G: test.Test
以运行程序,将得到如下输出:
Hello lcrystal !
其中-cp表示后面跟的是classpath,这里为G盘,注意classpath一定是java文件中package语句中第一层的父文件夹。(例如:我们的例子中package test;那么就要把classpath设为test的父文件夹,也就是G盘)test.Test表示在test文件夹下的Test.class文件,java命令默认添加class后缀,因此要运行的文件不要加后缀名,这是必须的,不能写成test.Test.class,这样会报错,无法运行。java命令用.来表示内层而不是/。因此输入test/Test是不行的。
上面就是一个简单的例子,唯一要注意的就是:
classpath一定是java文件中package语句中第一层的父文件夹。
我上面介绍的方法,不需要对系统的path和classpath环境变量进行设定,因为我是在JDK的bin目录下执行程序,因此不需要path变量,执行类时显式指定了classpath去寻找类文件。