1-5 體驗Java的程式

對於某些高階的程式語言,例如:CC++,程式執行前,必須經過「編譯(Compile)」的程序,並產生相關的執行檔,電腦才可以執行這個執行檔。但對於某些程式語言,例如:Basic,則必需經過「直譯(Interpreter)」的程序,該程序是在程式執行時,由「直譯器(interpreter)」逐行該程式的原始碼並執行。而Java的執行過程也是如此,但會有些許的不同。

    Java的程式原始檔是一個副檔名為「.java」的文字檔,執行Java程式前,必須將這個原始檔利用Java的「編譯器(Compiler)」編譯成一個副檔名為「.class」的Java bytecodes。我們可以利用「java檔名.java」這個指令來完成這項工作。如果原始程式未曾變更,編譯的過程只需要執行一次就好。如果要實際執行該「.class」檔,再由Java的「直譯器」來剖析並執行Java bytecode指令。我們可以用「java檔名」指令來執行程式。過程如下圖:

往下,我們以一個實際的範例來示範如何撰寫、編譯及執行Java程式。

◆相關的編輯軟體

    Java程式的原始檔只是一個很單純的文字檔,我們可以使用一般的文字編譯軟體,例如:「記事本」、「UltraEdit」、「jEdit」…來撰寫原始碼。這些編輯軟體只是讓我們輸入文字,並不會提供太多的程式寫作的支援。以方便性而言,當然比不上一些開發Java程式的專業軟體,例如:「Jbuilder」。但是,給您一個良心的建議,在初學時最好不要使用這些專業軟體,過多的支援,會讓您失去很多的學習機會,更可能會妨礙您日後的學習成就。建議您使用「記事本」、「UltraEdit」或是「Jedit」來撰寫原始程式。「記事本」程式已內建在Windows系統之中,您可以立即使用。如果需要使用「UltraEdit」,您可以至「http://www.ultraedit.com/」網站下載試用版,試用版會有30~45天的使用期限。或者,您也可以至「http://www.jedit.com/」網站下載「Jedit」免費軟體使用。

◆以記事本撰寫第一個程式

    以「記事本」為例,在您開啟記事本後,請輸入以下的程式:

程式1-1Chap1\First.java

01    /**

02    這是我的第一個Java程式

03    */

04    class First

05    {

06       public static void main(String[] args)

07       {

08          //將需要顯示的內容輸出

09          System.out.println("Hello World!");

10       }

11    }

    請注意:程式前的「01~11:」等行號只是本書中為了說明方便而加上的,實際的程式碼中,並不需要加上這些行號。另外,Java程式是區分大小寫的,所以,在輸入原始碼時,請仔細的區分程式內文字的大小寫。 

    輸入完成後,我們必須將程式存檔。請選擇需要存檔的位置,例如:「C:\Work\Chap1」:接下來,請在「檔名」中輸入:「First.java」:請將「存檔類型」改成「所有檔案」。完成的畫面如下圖,最後,再按「儲存」按鈕,將檔案儲存。

◆編譯程式

    Java的原始檔撰寫完成後,還必須將它編譯成副檔名為「.class」的Byte code檔,所使用的工具利用JDK中的「javac.exe」程式來做編譯的工作。其實,「javac.exe」這個程式就是Java程式的編譯器。請執行「開始\程式集\附屬應用程式\命令提示字元」:

1.目前我們的Java程式是儲存於「C:\Work\Chap1」目錄中,請輸入以下的指令, 並按「Enter」鍵,將工作目錄切換至該目錄中。

cd Chap1

2.再來,我們要執行「javac.exe」程式來編譯Java檔案,請輸入以下的指令,並按「Enter」鍵編譯「First.java」檔案。編譯時,不要忘了加上程式的副檔名,並請注意檔名的大小寫的問題

javac First.java

如果編譯後,您顯示的畫面如下圖,就代表本程式已經編譯成功了。

試著執行「dir」指令,您應該會看到編譯所產生的「First.class」檔案。

如果您的程式中有語法的錯誤,編譯時會將錯誤的訊息顯示在DOS視窗中。例如:輸入時,誤將「static」輸入成「statc」,編譯後,會顯示出在原始程式中的第6行有錯誤的語法,並顯示相關的訊息,且以「^」記號顯示語法錯誤的大約位置。

請注意,畫面中顯示的「2 errors」訊息並不代表您的程是中真的有兩個錯誤,因為程式編譯時,上一行的錯誤可能會影響到下一行,更正時,請由顯示在最上方的錯誤開始更正。

◆ 執行程式

    在成功的編譯完程式後,我們就可以執行「First.class」這個Byte codes檔了。該檔必需在JavaJVM中執行,程式執行時,必需先執行JVM,再由JVM來執行這個程式。請輸入以下的指令,並按「Enter」鍵。

java First

    java.exe」是所謂的JVM程式,指令中的「First」是指,「First.class」這個Java程式,執行時,不需要加上副檔名,執行的結果如下:

C:\Work\Chap1>javac First.java

C:\Work\Chap1>java First

Hello World!

C:\Work\Chap1>