鮮衣怒馬闖蕩江湖

文本編輯器

前面我們提到,編程兩大基本工具,一是寫代碼的工具,二是把代碼轉換爲計算機指令的工具。JDK就是把Java代碼轉換爲計算機指令的工具。這次我們聊聊寫代碼的工具。
Java代碼並沒有特別之處,就是普通的文本,保存下來也就是普通的文本文件,實際上,幾乎所有的編程語言寫出來的代碼都是純文本文件。
所以,編寫代碼最簡單的工具就是——記事本。
當然,記事本的功能太過於簡陋,一般人是不會去使用它寫代碼的。編寫代碼的編輯器一般具有以下功能:

  • 自動縮進,便於編寫排版整齊的代碼
  • 關鍵字高亮,把不同功能、不同含義的代碼用不同顏色表示出來,便於閱讀和查錯
  • 顯示行號,便於根據編譯信息確定出錯位置
  • 自動閉合括號,可以自動補全成對的符號

最好還具有代碼補全、代碼模板等更方便的功能。
很多高級編輯器都具有這些特點,這裏我只介紹我用過的幾種:

  • EverEdit,體積小巧,速度飛快,使用方便,基本功能齊全,佔用資源少,插件不多,收費。
  • Sublime Text,體積稍大,界面美觀,速度快,插件豐富,收費,但可以無限期試用。
  • VS Code,體積大,佔用資源多,功能強大,插件非常豐富,完全免費。

這裏只介紹一下EverEdit和VS Code,這也是我目前使用最多的兩個編輯器,有興趣的朋友也可以嘗試一下Sublime Text。

使用EverEdit編寫Java程序

安裝部分不再贅述,我們直接打開EverEdit,先彆着急寫代碼,我們在最下面的狀態欄找一個寫着“默認”的按鈕,點一下,在彈出的對話框中選擇“Java”,這樣就可以高亮Java的代碼了。
然後在工作區寫入以下的代碼(注意大小寫):

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello Java World!");
        System.out.println("你好,Java世界!");
    }
}

在編寫過程中,我們就能體會到EverEdit的方便了。
寫完後,保存。我們把這個文件保存到D盤的mycode目錄中,取名爲HelloWorld.java
打開命令提示符工具,進入D盤的mycode目錄中,然後輸入命令javac HelloWorld.java進行編譯:

HelloWorld.java:4: 錯誤: 編碼GBK的不可映射字符
                System.out.println("浣犲ソ錛孞ava涓栫晫錛?");
                                                ^
1 個錯誤

那堆亂碼是什麼?是我們剛纔敲進去的嗎?當然不是我們敲進去的。這是由於我們的代碼源文件使用UTF-8字符編碼保存,Java本身默認支持的也是UTF-8字符編碼,但命令提示符支持的是GBK字符編碼……所以,要麼我們把命令提示符的設置改一下,讓它支持UTF-8,要麼告訴Java的編譯器注意一下字符編碼。前一種方法不方便,每次打開命令提示符都要更改,我們採用後一種方法。
這次輸入命令javac -encoding utf-8 HelloWorld.java再次編譯,按下回車,結果什麼都沒有輸出!請注意,在很多情況下,沒有提示信息就是最好的提示,因爲沒有出錯。
此時我們查看代碼的保存目錄,會發現裏面有兩個文件,一個是我們剛剛保存的HelloWorld.java,另一個則是編譯後產生的字節碼文件,HelloWorld.class。java文件是我們編寫並保存的,class文件是要在Java虛擬機上執行的。
然後我們輸入命令java HelloWorld執行這段代碼,就會看到:

Hello Java World!
你好,Java世界!

我們這裏雖然寫的是HelloWorld,但實際上執行的是HelloWorld.class文件。這是需要我們特別注意的,在編譯時調用javac命令,而且必須是源代碼文件的全名(帶後綴名);在運行時調用java命令,而且不能有字節碼文件的後綴名。
如果代碼寫錯了,會怎麼樣呢?我們把第4行後面的分號刪掉,保存,再編譯一次看看:

javac -encoding utf-8 HelloWorld.java

HelloWorld.java:4: 錯誤: 需要';'
                System.out.println("你好,Java世界!")
                                                ^
1 個錯誤

現在我們來解讀一下輸出信息:

  • HelloWorld.java,出錯的源代碼文件名
  • 4,錯誤發生在第4行
  • 錯誤,出現問題的種類,常見的有警告和錯誤,其中警告不太嚴重,錯誤比較嚴重
  • 需要';',錯誤提示信息

下面是出錯的這一行代碼。
如果還有其它錯誤,也是這個格式。
最後是錯誤的數量。

改錯的時候,從第一個錯誤——注意,一定從上往下依次改正,千萬不要直接看最後一個錯誤——開始改正。找到錯誤根源並改正,保存源文件,再次編譯,如果還有錯誤,仍然從第一個開始修改,重複上面的流程,直到編譯時沒有提示爲止,就可以執行程序了。
改錯的時候,一定要知道什麼地方錯了,爲什麼錯了,然後才能進行修改。如果不清楚,可以認真閱讀錯誤提示,參考相關資料,或者向其他人求助。總之,明白爲什麼錯了,才能知道怎樣寫是對的

可能有朋友會問,每次寫Java程序都要執行編譯-->改錯-->執行這個流程嗎?
是的。
但有更簡單的方法:

  • 命令提示符中可以使用上下鍵找到之前使用過的命令,這樣我們就不需要每次改錯後輸入同樣的命令了;
  • 在EverEdit的工具菜單-->外部工具中可以設置要執行的命令,這樣我們只需要點擊鼠標或使用快捷鍵就可以編譯和執行了,而不需要在命令提示符中輸入命令。有興趣的朋友可以嘗試一下。

使用VS Code編寫Java代碼

如果你只安裝了最基本的VS Code,那麼操作方法和EverEdit並沒有區別。但VS Code最大的優勢就是可以使用插件,我們可以好好利用起來。
我們打開VS Code,打開插件商店,搜索Java Extension Pack,然後安裝即可。
新建一個文件,按下shift+ctrl+p快捷鍵,在命令窗口中輸入Change Language Mode——實際上不用輸入這麼長的命令,按下幾個字母之後就會彈出這個選項的。選中該選項後,在語言列表中然後選擇Java語言。
回到工作區,輸入上一個例子中的Java代碼,VS Code會給出一些關鍵字的提示。如果你覺得不夠方便,那麼現在就可以保存一下文件,名稱爲HelloWorld.java,路徑可以修改一下,不要和上一個例子中的源文件放到同一個目錄下(當然,也可以刪除掉上一個例子中的文件,或者爲這個例子中源文件改名——源文件起名的規則,我們在後面會講到)。然後就會發現提示的有用信息更多了。
當我們寫完代碼後,會發現在public static void main(String[] args)這一行的上方,有個提示信息Run|Debug,點擊Run,就可以同時實現保存、編譯和運行了。
如果程序有錯,那麼在錯誤的位置會出現波浪下劃線,鼠標放到上面就會有相應的提示,根據提示修改即可。

VS Code通過插件,可以極大簡化編程過程,對於初學者來說,是綽綽有餘的;甚至對於一些開發人員,也能滿足一些基本開發工作。

練習

大家可以自己選一款喜歡的代碼編輯器,嘗試編寫程序、編譯並執行它。也可以更換實例代碼中引號中的內容,看看輸出效果。

 

01

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章