《Java程式設計思想》讀書筆記-第一個Java程式
積少成多,歡迎大家關注我的微信公眾號,共同探討Java相關技術
今天的重點是:編寫原始碼、編譯、執行、檢視成果。除此之外,還需要搭建起與前面學習的知識的聯絡。
寫本文時依據的系統環境是Windows10哦!請悉知!
步步為營
- 原始碼
- 關於程式碼的解釋
- 編譯
- 執行
- 總結
原始碼
今天我們編寫自己的第一個Java程式。它主要的功能是向控制檯輸出一個”Hello World!”和一個隨機數以及傳入的引數args陣列的長度。嗯,所有demo的開端,”Hello World!”。程式碼如下:
import java.util.Random; public class MyFirstDemo { public static void main(String [] args) { System.out.println("Hello World!"); System.out.println(new Random().nextInt()); System.out.println(args.length); } }
注意:請不要用Windows自帶的記事本編輯,由於Windows的原因會導致程式無法執行
建議下載名叫 notepad++
的編輯器。把上述程式碼鍵入後,儲存,並把副檔名改為 .java
。在Windows中預設不會顯示檔案的副檔名,具體怎麼設定顯示副檔名,請參考: https://www.cnblogs.com/lurker-yaojiang/p/10376571.html
注意:儲存的檔名,一定要和類名一致。比如類名是MyFirstDemo,那麼對應的檔名應該是MyFirstDemo.java,否則可是會報錯的喲!
關於程式碼的解釋
首先通過 import
引入了 java.util
包中的Random類,該類主要用於生成隨機數。在Java中,預設 java.lang
包是 自動匯入
的,因此包中的類我們可以直接使用。但是如果你要使用當前包以外的其他包中的類,比如你當前在 com.baidu.service
包中,想要用到 com.baidu.dao
包中的類,那你就要用 import
匯入了。
接下來用class關鍵字聲明瞭一個名為 MyFirstDemo
(或者稱作資料型別),並用public修飾符修飾,表示這個類在 任何地方都可以被訪問
。
然後定義了一個名為 main
的方法,其被 static
修飾,返回型別為 void
,引數為一個 String陣列
。我們前面講到過 static修飾的方法不依賴具體物件,可以直接通過類名呼叫
。如果你希望你的程式能夠獨立執行,一個 main
方法是 必須的
,它作為整個程式的入口。且其名稱只能為 main
,這是強制規定。
這樣就比較好理解了。在進入程式後,物件才會進行建立;所以作為程式入口的 main方法
,必然是不依賴於具體物件的,也就是說,用 static
進行修飾是 必然的
。
關於其字串陣列型別的引數,主要是用於接收從控制檯輸入的值的,稍後的演示中 請關注第三個輸出值的變化
。
最後在方法體中輸出了三個值,”Hello World!”,一個隨機數,字串陣列引數 args
的長度。
編譯
Java是 編譯型的語言
,意味著Java原始碼需要進行編譯後才可以執行。通過編譯器,Java原始碼編譯成 JVM
能夠認識的 位元組碼檔案
,這樣JVM就能執行我們編寫的程式碼了。這也是Java跨平臺的原因,一切依靠JVM,所有的原始碼都要轉成JVM能識別的位元組碼。所以在接下來你會看見,在我們執行編譯之後,會生成一個 .class
檔案。
JVM(Java Virtual Machine),包含於JRE中的Java虛擬機器,Java程式執行在這裡
閒話少說,我們開始動手吧!請進入你編寫的原始碼檔案所在的目錄,按下shift鍵的同時,按下滑鼠右鍵,選擇在此處開啟Shell視窗(也可能是開啟PowerShell視窗)。如下:
輸入編譯指令 javac MyFirstDemo.java
。有兩個注意點,第一,用的指令是 javac
,意為 java compile
;第二,需要跟的是包含副檔名的檔名稱,因為要指定要編譯的具體檔案。按下回車,開始編譯,一般請開給你下,按下回車後不會丟擲任何錯誤,如下:
我們開啟原始檔所在目錄,看看是否多了一個 .class
結尾的檔案呢?沒錯,這就是位元組碼檔案。
可能出現的異常
如果因為你的粗心,可能會造成編譯過程出錯,可能出現的錯誤如下:
-
輸入編譯指令時,檔名稱沒有帶副檔名,報的錯誤如下:

-
檔名稱和類名不等時,報的錯誤如下:
執行
編譯完成後,我們離成功就剩最後一步了。接下來,我們繼續在Shell(或PowerShell或CMD命令列)中按需鍵入指令。
不帶引數的執行
鍵入指令 java MyFirstDemo
,結果如下:
帶引數的執行
鍵入指令 java MyFirstDemo -client
,結果如下:
注意看第三個輸出的值哦!由於我們使用了一個引數,它變成1了哦
需要注意的是,這個命令跟編譯的命令也有不同點哦!可能剛開始會混淆,各位老鐵一定要細心啊!這個指令,用的是 java
而不是 javac
,是執行的意思;另一方面,後面接的是 類名
,而不是帶副檔名的檔名稱哦!
總結
本文我們編寫了一個能獨立執行的簡單的Java程式,也是我們的第一個Java程式。依靠最原始的方式,從編寫原始碼,然後編譯,再執行!這一步你一定要親手做,這樣才能更深入的瞭解Java程式的執行。
在實際的開發中,並不需要這麼複雜!
下一節,給大家介紹一款好用的開發整合工具。有了它,你的程式設計效率能夠得到極大的提升。