開發環境

tags: java

Microsoft Visual Studio Code

優點

  1. 跨平台
  2. 輕量,執行速度快
  3. 可透過插件擴充功能
  4. 社群活躍,資源豐富

安裝

  1. 下載Coding Pack for Java

    MacOS版本下載點:https://aka.ms/vscode-java-installer-mac

    Windows版本下載點:https://aka.ms/vscode-java-installer-win

  2. 安裝Coding Pack for Java,Coding Pack會做下面事情:

    • 下載/安裝JDK(Java開發套件)。
    • 下載/安裝Visual Studio Code編輯器。
    • 設定Java環境。
    • 安裝Java擴充功能。

補充:

如果需要繁體中文環境,可以安裝「Chinese(Traditional)Language」擴充功能。

常用快速鍵

功能 MacOS Windows
執行程式 CTRL+F5 Ctrl+F5
打開指令面板 CMD+Shift+P Ctrl+Shift+P
格式化程式碼 Alt+Shift+F Alt+Shift+F
存檔 CMD+S CTRL+S
註解程式碼 CMD+/ CTRL+/
切換到下一個打開的檔案 CTRL+TAB CTRL+TAB
關閉目前檔案 CMD+W CTRL+W
跳到方法定義 CMD+Left Click CTRL+Left Click
復原修改 CMD+Z CTRL+Z
取消復原 CMD+Shift+Z CTRL+Shift+Z
程式碼提示 CTRL+空白鍵 CTRL+空白鍵
多重游標分身 Alt+Left Click Alt+Left Click

第一個程式

建立Java專案

提示:選擇No build tools

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

按下CTRL+F5執行程式,如果沒有錯誤,會在TERMINAL視窗看到下面結果輸出:

Hello, World!

到此表示開發環境安裝完成。

解說

  1. 定義類別(Class)

    Java為物件導向語言,程式通常都是由定義「類別」開始,class 是 Java 用來定義類別的關鍵字,範例中類別的名稱是App,原始碼檔名必須與類別名稱相同(HelloJava.java),App類別前面的public關鍵字代表公開,可以給外部使用,而程式進入點的類別則比須定義為public,否則程式無法執行。

    一個檔案中可以有複數個類別,但是只能有一個公開(public)類別,而且檔案主檔名必須與這個公開類別的名稱相同,在定義類別名稱時,習慣上將類別名稱是每個單字的第一個字母大寫,並且類別名稱代表該類別的功用。

  2. 定義類別區塊(Class Block)

    Java程式使用大括號 {} 來定義區塊,大括號必須兩兩成對,表示該類別定義的作用範圍。

  3. 定義 main() 方法(Method)

    main()為一個方法,而且是一個特殊方法,它是 Java 程式的「進入點」(Entry point),程式的執行是由進入點開始的,main() 方法必須為「public」這樣它才可以執行環境(JVM)呼叫;main() 方法不需要產生物件(Object)就能被執行,所以它必須是個「static」方法;「public」與 「static」的觀念都是Java 物件導向(Object-oriented)的一部分,會在物件導向章節再行解說。

    main()法前面的「void」關鍵字表示main()執行結束後不傳回任何值,Java 程式的main()方法不需傳回任何值,所以固定都是void型態;main()方法小括號間的 String[] args 為執行啟動時取得使用者輸入的命令列引數(Command line argument),即使目前用不到,還是得寫上去,因為這是Java的規定。

  4. 定義方法區塊(Method Block)

    方法區塊與類別區塊的用途類似,都是為了定義作用範圍,而方法區塊用來定義該方法的作用範圍。

    補充:
    定義區塊的風格因人而異,有些開發人員習慣先換行再定義區塊,例如:

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

    這麼作的好處是可以很快的找到兩兩成對的大話號,區塊對應清楚。找一個您喜歡的風格撰寫,以清晰易讀為原則就可以了。但如果是團隊開發,則需要遵守團隊開發風格,以免因為多種風格造成程式碼閱讀上的複雜度。

  5. 撰寫陳述(Statement)

    main() 方法中唯一的一行陳述:

    ​System.out.println("Hello, World!");
    

    陳述是程式語言中的一行指令,簡單的話就是程式語言的「一句話」。注意每一句陳述的結束要用分號 ' ; ' ,在上面的陳述中,您使用了 java.lang 套件(package)下的 System 類別的公開(public)成員 out 物件,out 是一個 PrintStream 物件,您使用了 PrintStream 所提供的 println() 方法,將當中指定的字串(String) "嗨!我的第一個Java程式!" 輸出至文字模式上。

    注意:

    在Java 中字串要使用 "" 包括,println() 表示輸出字串後自動換行,如果使用 print() 的話,則輸出字串後程式並不會自動斷行。

補充
縮排方式建議按四次空白鍵,少用 Tab 鍵,因為各個文字編輯器或 IDE 對於 Tab字元的顯示方式都不太一樣,有些文字編輯器或 IDE 預設使用 Tab 字元來自動縮排的話,建議將之改為預設四個空白字元進行縮排,因為空白字元顯示方式是一致的。

編譯與執行

使用VSCode開發環境

VSCode開發環境只需要透過快速鍵CTRL+F5就可以同時完成編譯與執行,執行結果會在下方Terminal視窗中顯示。

使用命令列(Terminal)

在終端視窗下使用javacˇ指令來執行編譯,指令如下:

javac App.java

編譯如果成功,預設會在同一個目錄下會產生一個想同檔名,但副檔名為「.class」的位元碼(bytecodes)檔案,位元碼檔案在執行時會由各執行環境轉換為該平台可執行的機器碼,指令為java如下:

java App

注意:

java指令後面的執行檔名並不需要加上 「.class」 副檔名,只要提供「類別名稱」即可,執行結果如下:

Hello, World!