在上一篇文章 【[準備編譯環境】]()中咱們完成了 Java 編譯環境的搭建,這篇文章內容主要是來教你怎麼開始編寫第一個 Java 程序,並運行它。java
分爲兩個步驟,首先我會一步一步的告訴你如何編寫一個簡單的 Java 程序-Hello World,而且教你運行它。以後,我再幫你詳細解讀這個小程序。程序員
好,先開始編寫一個簡單的Hello World 的 Java 小程序,這個過程當中,不要去在乎代碼是什麼意思,只管照着個人步驟作,這個階段的目標是可以正確編寫,而且成功運行這個小程序。OK,接下來 Please flow me.編程
1) 新建一個 HelloWorld.java 的文件,放到一個文件夾下面。新建文件以前,修改一下文件顯示,要求把文件後綴名顯示出來,否則你可能會新建一個 HelloWorld.java.txt 文件。小程序
先新建一個文本文件,命名爲 HelloWorld.java,記得要修改文件後綴爲 .java ,主要文件名稱的大小寫。segmentfault
2)記事本編輯 HelloWorld.java 文件,編寫以下代碼,並保存。須要注意的地方:輸入法狀態調整爲英文狀態;代碼的縮進;不要忘記分號;下面圖片標註內容。函數
代碼:工具
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }
這段代碼最終執行的結果會輸出 Hello World 字符串到命令窗口。學習
OK,如今代碼編寫完成,我但願運行這段代碼。可是計算機不可以直接運行 HelloWorld.java 文件。因此須要咱們作一個工做。就是編譯 HelloWorld.java 文件爲計算機可運行的 HelloWorld.class 文件。開發工具
1)首先使用管理員權限調出 「cmd命令窗口」。spa
2)編譯。先使用 cd c:/Java demo(換成你本身的目錄) 命令切換目錄到 HelloWorld.java 文件所在目錄。而後執行 javac HelloWorld.java 命令進行編譯,javac 是 JDK 中的編譯工具命令。編譯成功,不會提示任何消息,而且會在 HelloWorld.java 所在目錄下生成同名的 HelloWorld.class 文件。
若是編譯錯誤,則命令窗口會提示錯誤信息出來。
使用 javac 命令完成 java 文件編譯以後,接着執行 java HelloWorld 命令(注意:這裏文件名稱不帶後綴),運行程序。命令窗口輸出字符串:Hello World ,表示咱們運行成功。
Java HelloWorld 命令執行以後,其實是 JRE 運行時環境把編譯後的 HelloWorld.class 文件解釋成計算機能夠直接識別的 0和1 格式的指令。
這部份內容來解讀下程序,不明白沒有關係,先去照葫蘆畫瓢作出來,不要過於糾結。當你代碼練習的多了以後,天然會理解。
這個程序涉及到幾個概念,先來解釋一下,有助於你的理解。
1. 類和對象
面向對象的思惟很重要,一個程序員若是不能理解面向對象。那他是一個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。
對於用到的兩個命令,簡單理解下。實際的項目過程當中,咱們不會這樣手工去執行這兩個命令去編譯和執行程序。一般會使用專門的集成開發工具(IDE),IDE會幫咱們自動編譯和執行程序。
javac HelloWorld.java
java 命令後面跟某個 Java 文件,執行以後會把 Java 文件編譯成一個同名的 class 文件,放在 Java 文件所在目錄下。java 命令實際上是 JDK 工具中的一個編譯命令。
java HelloWorld
該命令是執行編譯好的 class 文件。
OK,第一個簡單的 Hello World 程序,我已經詳細的爲你作了演練與解釋。當下對於你最重要的就是練習。按照個人步驟,反覆練習,直到造成你的肌肉記憶。你能夠練習 10 遍、20 遍、甚至更多。若是你以爲本身很聰明,不用練習。那麼建議你別學習編程了,由於不去動手練習,是永遠學不會編程的。