Java初學者:java是如何在命令行下編譯運行程序的


我們上文書說到,我們首先安裝Java,然后設置Java環境,然后編譯運行了一個簡單的Java程序,在命令行模式下顯示了一個“Hello baby”。那么,為什么呢?發生了什么呢?

    首先,下載安裝Java就不用問為什么了對吧?所謂巧婦難為無米之炊,沒有Java卻想用,這不可能的。

    其次,為什么我們要那樣設置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程序。怎么運行呢?

    然后我們看java Test,這是干什么呢?這就是運行java程序,java是運行java程序的命令,Test是程序名稱。為什么不是Test.java呢?因為java沒有運行Test.java, java運行的其實是Test.class那個文件,但是,不寫后綴名。如果不信的話,當你編譯通過,並生成了class文件以后,你完全可以把源文件刪除,然后使用 java 文件名 的格式來運行程序,完全可以的。在我們的例子中,就是,在編譯通過並且生成了Test.class文件以后,刪除D盤的Test.java,然后在命令行下,D盤根目錄下,打入java Test,就可以運行了。

    那么class文件是個什么文件呢?它是java可以直接讀取並直接執行的文件,你非要用記事本打開的話也行,里面是亂碼,為什么呢?因為那根本就是給java讀的,不是給你讀的,你看不懂正常,而且你那記事本打開的,應該也不是其本來面目。

    但是,我們一般是不刪除源文件的,為什么不刪除呢?你刪它干啥啊?你不看你的代碼了啊?你不看你老師還看呢,要不你哪兒來分啊?你不看你客戶還看呢。而且萬一你想改程序呢?你能直接改class文件嗎?不能。所以。。。依我這個初學者的愚見,您還是留着源文件吧。

    好了,那么現在我們總結一下java在命令行下是如何運行程序的,首先,前提是你安裝了java,並且設置好了java的運行環境,然后,你有一個java的源程序。這樣,使用如下的格式使用命令: 命令名 命令作用對象。使用javac來編譯文件,然后使用java來運行程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM