1. 程式人生 > 其它 >JAVA學習之執行第一個Java程式以及瞭解Java的執行機制

JAVA學習之執行第一個Java程式以及瞭解Java的執行機制

JAVA學習之執行第一個Java程式以及瞭解Java的執行機制

行之力則知愈進,知之深則行愈達。 ——南宋 · 張栻《論語解·序》

第一個Java程式——Hello world!

  1. 先建立一個 .txt 檔案,將副檔名修改為 .java。

易錯:修改副檔名過程中,可能會遇到檔案沒有顯示副檔名這種情況,從而導致錯誤。以下情況就表示副檔名沒有修改正確。

下方的檔案型別仍然是 .txt文字檔案。

只需要點選上方的 ”檢視“ 按鈕,將副檔名勾上即可。如下圖:

  1. 編寫程式碼:

    public class Hello{
        public static void main(String[] args){
            System.out.println("Hello,world!");
        }
    }
    

    擴充套件:

    根據《阿里巴巴Java開發手冊》裡規定:中括號 [] 是陣列型別的一部分,所以規定定義如下:String[] args;

    反例:String args[];

    雖然反例的寫法仍然可以使程式正常執行,但是為了養成良好的規範,我們還是以上述規範為主。

  2. 使用 javac 命令編譯該 Hello.java 檔案:

    (1)在該檔案目錄路徑輸入cmd,進入命令列視窗:

    可以看到命令列就進入了該目錄下。(或者也可以win+r,輸入cmd,接著使用Dos命令進入即將編譯的 java 檔案所在目錄

    (2)編譯:

    語法:javac + 檔名(注意加 .java 字尾)

    可以看到目錄下生成了一個 Hello.class 的檔案,則表示編譯成功。

  3. 使用 java 命令執行 Hello.class 檔案

語法:java + class檔名(注意:這裡不需要加 .class 字尾)

可能出現錯誤的情況

  1. 字母大小寫不一致問題,Java語言是大小寫敏感的

  2. 檔名必須與類名一致,否則報錯。

  3. 程式碼中符號沒有使用英文半形狀態下的符號,尤其是誤使用了中文狀態下的符號。

Java程式的執行機制

前面運行了第一個Java程式,所以需要了解一下 Java程式的執行機制。

Java是一種特殊的高階語言,它具有編譯型語言的特徵,同時也具有解釋型語言的特徵。因此,Java語言需要先經過編譯,後解釋才能執行。(由於現今編譯型和解釋型的界限越來越模糊,這裡並不討論 Java 到底是編譯型語言還是解釋型語言。)

編譯型語言:程式在被執行之前,需要一個專門的編譯過程,把程式編譯成為機器語言的檔案,例如exe可執行檔案,以後執行的時候就不需要重新編譯了,直接使用編譯之後的結果就行了,因為翻譯只做一次,執行時不需要翻譯,所以編譯型語言的程式執行效率高。

例如:C、C++

解釋型語言:程式不需要編譯,省了一道工序,解釋型語言在執行程式的時候使用專門的直譯器對源程式進行逐行解釋成特定平臺的機器碼並立即執行的語言,每執行一次就要翻譯一次,效率比較低。

例如:Python、Ruby

Java 程式碼在執行前需要先通過Java編譯器預編譯成.class檔案,接著.class檔案載入到 JVM裡進行解釋。如下圖:

所以,Java的跨平臺性也得益於它的執行機制。

開發人員使用Java語言編寫的 *.java原始檔,需要經過編譯器執行javac命令編譯成位元組碼檔案,也即 *.class檔案。注意:該位元組碼檔案與平臺無關,可被特定平臺的Java直譯器執行,位元組碼檔案可以看做成一種中間語言當需要在不同平臺執行時,只需要將位元組碼(.class)檔案載入到相應平臺的 JVM 對該檔案進行解釋執行,從而實現一次編寫,到處執行的功能。