在上一篇文章 [【準備編譯環境】]()中我們完成了 Java 編譯環境的搭建,這篇文章內容主要是來教你怎麼開始編寫第一個 Java 程序,並運行它。
分爲兩個步驟,首先我會一步一步的告訴你如何編寫一個簡單的 Java 程序-Hello World,並且教你運行它。之後,我再幫你詳細解讀這個小程序。
1. 編寫 Hello World 小程序
好,先開始編寫一個簡單的Hello World 的 Java 小程序,這個過程中,不要去在意代碼是什麼意思,只管照着我的步驟做,這個階段的目標是能夠正確編寫,並且成功運行這個小程序。OK,接下來 Please flow me.
1) 新建一個 HelloWorld.java 的文件,放到一個文件夾下面。新建文件之前,修改一下文件顯示,要求把文件後綴名顯示出來,不然你可能會新建一個 HelloWorld.java.txt 文件。
先新建一個文本文件,命名爲 HelloWorld.java,記得要修改文件後綴爲 .java ,主要文件名稱的大小寫。
2)記事本編輯 HelloWorld.java 文件,編寫如下代碼,並保存。需要注意的地方:輸入法狀態調整爲英文狀態;代碼的縮進;不要忘記分號;下面圖片標註內容。
代碼:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
這段代碼最終執行的結果會輸出 Hello World 字符串到命令窗口。
2. 編譯 HelloWorld.java
OK,現在代碼編寫完成,我希望運行這段代碼。但是計算機不能夠直接運行 HelloWorld.java 文件。所以需要我們做一個工作。就是編譯 HelloWorld.java 文件爲計算機可運行的 HelloWorld.class 文件。
1)首先使用管理員權限調出 “cmd命令窗口”。
2)編譯。先使用 cd c:/Java demo(換成你自己的目錄) 命令切換目錄到 HelloWorld.java 文件所在目錄。然後執行 javac HelloWorld.java 命令進行編譯,javac 是 JDK 中的編譯工具命令。編譯成功,不會提示任何消息,並且會在 HelloWorld.java 所在目錄下生成同名的 HelloWorld.class 文件。
如果編譯錯誤,則命令窗口會提示錯誤信息出來。
3. 運行 HelloWorld
使用 javac 命令完成 java 文件編譯之後,接着執行 java HelloWorld 命令(注意:這裏文件名稱不帶後綴),運行程序。命令窗口輸出字符串:Hello World ,表示我們運行成功。
Java HelloWorld 命令執行之後,實際上是 JRE 運行時環境把編譯後的 HelloWorld.class 文件解釋成計算機可以直接識別的 0和1 格式的指令。
4. 程序解讀
這部分內容來解讀下程序,不明白沒有關係,先去照葫蘆畫瓢做出來,不要過於糾結。當你代碼練習的多了之後,自然會理解。
這個程序涉及到幾個概念,先來解釋一下,有助於你的理解。
1. 類和對象
-
現實世界中的類:人類、動物類、男人、女人。是一個概念,並不真實存在。
-
現實世界中對象:一個人、一隻小狗、張三、翠花。是真實存在的。
- 類是一個對象的模板,對象是一個類的具體事物。
- Java 是面嚮對象語言,他模擬現實世界中的類和對象。把要實現的需求,抽象出類,用 Java 代碼去定義類和類所具有的屬性和功能。
面向對象的思維很重要,一個程序員如果不能理解面向對象。那他是一個lower。先理解到這,後面內容會用代碼詳細講解面向對象編程。
2. 函數
你早上醒了,喊了一嗓子:“媽,給我做早飯” 這是典型的函數應用,你不知道早餐怎麼做出來的,就是喊了一下。這個叫函數調用,媽媽提供了函數的具體實現。也就是說媽媽提供了函數,你調用了函數。
一個對象具備某個功能,在 Java 程序中,可以映射爲一個函數。比如一個英語老師的教英語的能力,可以映射爲一個 teachEnglish() 函數,函數裏面還可以傳遞一下參數。先理解到這兒,後面會代碼詳細講解函數。
3. 語句
語句是 Java 程序最小的一個執行單位,像一個指令,Java 程序中,必須使用一個英文分號結束一條語句。
好了,現在先來看一下我們的 HelloWorld 這段程序,爲了便於解釋,我爲程序標記一下序號。
1)Java 是面向對象的語言,所以 Java 程序是一個類構成的。類裏面是變量和函數,函數裏面是語句。
public class HelloWorld {}
定義一個名字爲 HelloWorld 的類,注意類名必須和 java 文件名保持一致,通常類名一個字母大寫(約定俗稱)。一個 Java 文件通常包括一個類,也可以定義兩個類。{}
中主要放置具體變量和函數。
2)public static void main(String[] args){}
定義了一個 main 函數,這是一個特殊的函數,只有這個函數才能作爲程序的入口。當執行這段程序時,運行時環境會去找這個main函數,如果找不到,這段程序就不能執行。
main
是方法的名字,括號裏面 String[]
是傳遞的參數類型,Java 是靜態類型程序,任何類型的參數和變量都要先聲明其類型,args
是參數的名稱。void 是代表這個main
函數不給計算機返回任何值。public和static是修飾這個函數的修飾符,後面再做解釋。{}
裏面定義函數的具體實現,可以先理解爲具體指令。
3)System.out.println("Hello World")
這句代碼意思是在命令窗口中打印字符串:Hello World。
5. 命令的簡單理解
對於用到的兩個命令,簡單理解下。實際的項目過程中,我們不會這樣手工去執行這兩個命令去編譯和執行程序。通常會使用專門的集成開發工具(IDE),IDE會幫我們自動編譯和執行程序。
javac HelloWorld.java
java 命令後面跟某個 Java 文件,執行之後會把 Java 文件編譯成一個同名的 class 文件,放在 Java 文件所在目錄下。java 命令其實是 JDK 工具中的一個編譯命令。
java HelloWorld
該命令是執行編譯好的 class 文件。
6. 建議
OK,第一個簡單的 Hello World 程序,我已經詳細的爲你做了演練與解釋。當下對於你最重要的就是練習。按照我的步驟,反覆練習,直到形成你的肌肉記憶。你可以練習 10 遍、20 遍、甚至更多。如果你覺得自己很聰明,不用練習。那麼建議你別學習編程了,因爲不去動手練習,是永遠學不會編程的。
QQ交流羣:468439140