咱们上文书说到,咱们首先安装Java,而后设置Java环境,而后编译运行了一个简单的Java程序,在命令行模式下显示了一个“Hello baby”。那么,为何呢?发生了什么呢?java
首先,下载安装Java就不用问为何了对吧?所谓巧妇难为无米之炊,没有Java却想用,这不可能的。eclipse
其次,为何咱们要那样设置Java的运行环境呢? 由于,目前为止,我只是想在命令行下编译运行java程序,这样一来,你就须要让命令行模式识别java的命令。而命令行下能自动识别的命令,必须咱们手动的把命令的路径添加进去。也许你会说,也不是啊,好比cd啊, dir啊这些简单的命令行命令,咱们也没有手动添加过啊,是啊,那是系统自动添加的。如今你要用你本身的命令,那你就要本身添加了。工具
也许,你会问,你说在目前为止,用命令行,什么意思?难道之后能够不用?是的,若是你想编译运行java程序,你确实必须安装java,可是不必定非要设置java的运行环境,java的运行环境,与其说是java的运行环境,还不如说是为了能在命令行下运行java而不得不进行的设置。若是你想编译运行java程序,安装完java之后,其实你可使用其余的编译工具进行编写运行java程序,好比,著名的eclipse,这咱们之后会讲到。命令行
好了,我想你应该明白为何咱们要安装java了,也明白咱们为何要设置环境了。可是其实还不见得特别明白,接下来,咱们解释一下在命令行下编译运行java程序的方法:对象
先看javac Test.java,这是干什么呢?这是编译名为Test.java的文件,也就是咱们编写的java程序源文件。javac是命令,意思是“编译java程序”的意思。Test.java, 这是命令做用的对象。就是说,编译名为Test.java的java源文件。当你写的程序代码没有语法错误(但也许有逻辑错误)的时候,将会经过编译,经过编译之后会怎么样呢?若是仅从命令行的显示来看,彷佛什么也没发生。可是实际上,若是你回到源文件所在的位置去看一下,你会发现,那里多了一个与源文件同名,可是后缀名为class的文件,拿咱们的例子来讲,就是Test.class,这个东西是什么呢? 这就是你编译经过的结果,当你编译经过,java就会自动生成一个与源文件同名,但后缀名为class的文件。有了这个文件,咱们才可能运行java程序。怎么运行呢?blog
而后咱们看java Test,这是干什么呢?这就是运行java程序,java是运行java程序的命令,Test是程序名称。为何不是Test.java呢?由于java没有运行Test.java, java运行的实际上是Test.class那个文件,可是,不写后缀名。若是不信的话,当你编译经过,并生成了class文件之后,你彻底能够把源文件删除,而后使用 java 文件名 的格式来运行程序,彻底能够的。在咱们的例子中,就是,在编译经过而且生成了Test.class文件之后,删除D盘的Test.java,而后在命令行下,D盘根目录下,打入java Test,就能够运行了。ip
那么class文件是个什么文件呢?它是java能够直接读取并直接执行的文件,你非要用记事本打开的话也行,里面是乱码,为何呢?由于那根本就是给java读的,不是给你读的,你看不懂正常,并且你那记事本打开的,应该也不是其原本面目。it
可是,咱们通常是不删除源文件的,为何不删除呢?你删它干啥啊?你不看你的代码了啊?你不看你老师还看呢,要不你哪儿来分啊?你不看你客户还看呢。并且万一你想改程序呢?你能直接改class文件吗?不能。因此。。。依我这个初学者的愚见,您仍是留着源文件吧。编译
好了,那么如今咱们总结一下java在命令行下是如何运行程序的,首先,前提是你安装了java,而且设置好了java的运行环境,而后,你有一个java的源程序。这样,使用以下的格式使用命令: 命令名 命令做用对象。使用javac来编译文件,而后使用java来运行程序。class