教子學習JAVA程式筆記-Hello World

子:什麼是程式語言?

父:程式語言(programming language)如果從英文的字面直接翻譯就是計劃性或程序性的語言,電腦運作必須由使用者下達指令,一個命令一個動作。如果要電腦執行一串工作,電腦不像人會自己變通,使用者必須將工作執行的流程順序先設想好,那一個先做那一個後做,那一種情況要做,那一種情況不做,把這一連串要電腦執行工作的指令進行有計劃性編排,其實這就是我們一般所謂的程式。可以讓人編排有計劃性的電腦指令(程式)即是程式語言,java程式語言只是上千種程式語言中的一種。

子:那為什麼選擇學習java程式語言?

父:就跟我們學習外語時會選擇使用度高的英語一樣,依照langpop.com在2013年透過網路統計,java是前十種最受歡迎的式語言(源維基百科),而隨著Android系統的行動裝置大量應用,使用java作為開發app的程式語言更為普及,所以選擇教你java程式語言。

父:要設計java程式在電腦要下載安裝jdk,並設定部分環境變數,相關的步驟可以參考這篇文章(教子學習JAVA程式筆記-開發環境設定)。

父:我們來寫我們的第1支程式,讓電腦向世界打招呼!

子:我們要用什麼軟體來寫java程式?

父:簡單的文字編輯軟體即可,現在我們剛開始學寫java程式,程式還很簡單所以我們使用WINDOW附屬應用程式中的"記事本"軟體來編寫即可。

父:為了提升我們課程的進行的效率,我們要先做一些設定,首先在WINDOW的桌面按滑鼠右鍵在浮動視窗中選取"新增"\"資料夾",在桌面新增一個資料夾,把資料夾重新命名為JL,未來我們所有的程式都要集中在這個資料夾中,方便管理。

image image

父:用滑鼠左鍵連續點擊JL資料夾兩次,進入JL資料夾,一樣按滑鼠右鍵在浮動視窗中選取"新增"\"資料夾",新增一個資料夾改名為P1,我們要把第1支程式放在P1資料夾,滑鼠左鍵連續點擊P1資料夾兩次,進入P1資料夾,在這個資料夾視窗一樣按滑鼠右鍵在浮動視窗中選取"新增",但是選擇"文字文件",新增一個文字檔。

image

image image

子:為什麼要這樣做?

父:這樣做我們只要點擊這個新增的"新文字文件.txt"就可以快速啟用記事本軟體,當然也可以點選 WINDOW 開始\附屬應用程式\記事本。

image

父:打開"新文字文件.txt"之後,在"記事本"軟體的編輯視窗輸入以下內容

image

父:你已經學過簡單的英文,應該看得出來這段文字雖然都是英文字,但是看起來不是一般的英文,的確這是一段簡單的java程式,但是這段程式文字還不能直接叫電腦做任何事,原因是這段程式是給人讀的,不是給電腦讀的。

子:什麼意思?

父:對人而言可以用文字、圖像與聲音來傳遞訊息,但電腦傳遞訊息基本就是利用電流訊號,例如我們可以把電流通過與不通過代表兩個訊息,譬如通過代表1,不通過代表0,這樣只要把多組的電流通過與否的訊號進行排列組合就可以代表多種訊息,所以我們經常會看到一些文章會以0和1兩個數字組合的代表電腦的訊息資料。所以我們要把上述這段程式進行轉換成電腦可以接受的形式。

父:對使用Java語言寫的程式,我們必須使用一支jdk所附的名為javac的編譯器程式把純文字的程式檔案轉換成位元格式的檔案,執行的時候再利用jdk所提供的java直譯器讀取此二位元檔並轉換成電腦指令驅動電腦。

子:什麼是編譯器?

父:在維基百科上的說明,編譯器(Compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言),這種編譯後的程式語言可能是專門為特定電腦機器設計的指令碼(機械碼),也可能是不針對特定的電腦機器設定的指令碼(位元碼),兩者的差別在於前者因為是針對特定電腦所以無可攜性(例如Window 版本的Office軟體不能直接拿到蘋果Mac上直接使用),後者可以透過直譯器讓同一份程式碼在不同類型的電腦上執行,所以具有可攜性(例如利用java程式語言開發的軟體,同一份java的位元碼在不同的平台都可以使用,最典型的就是一些網頁上的java applet程式,在Window可以使用,在蘋果Mac也可以使用,只要該平台有安裝適當的java直譯器)。

子:什麼是直譯器?

父:直譯器(英語:interpreter),也是一種電腦程式,能夠把高階程式語言一行一行直接轉譯執行(維基百科)。簡單的說,你可以把直譯器看成人和電腦之間的翻譯機,以我們第1個程式碼為例,它的內容看起來是比較接近人類能理解的內容,但是電腦沒辦法直接讀懂,所必須透過編譯器javac把這段程式碼編譯位元碼,再透過直譯器java轉成電腦可以接受的指令內容。

父:為了方便教學,有些規定要先說明,程式碼本身不需要也不能標記行號,標記行號java程式編譯器會出現錯誤訊息。但是為了方便教你,我會在說明程式內容時像以下範例這樣幫程式碼標記行號。

clip_image001

父:程式編寫完成要另儲存成java程式語言規定附檔名格式為.java的文字檔,不能儲存成.txt,依照java程式的規定這支程式的檔名要儲存為Hello.java,改儲存其他的名字(例如存為test.java),javac編譯器在編譯時會產生以下錯誤訊息。這是java程式的規定,在上述的程式第1行程式 public class Hello 代表這支程式的對外宣告它的名字叫Hello,所以java程式語言規定這個檔案必須存成Hello.java ,各種程式語言都會有些規定,為什麼要如此規定?原因很多,等遇到再說。

image

父:要如何使用javac來編譯Hello.java,首先要找到javac在那裡?在(教子學習JAVA程式筆記-開發環境設定)這篇文章提到要把要把WINDOW的PATH環境變數加入C:\Program Files\Java\jdk1.8.0_144\bin,讓作業系統能對應到該目錄以執行java的相關程式。javac.exe就在C:\Program Files\Java\jdk1.8.0_144\bin此目錄中,因為已經設定了環境變數,所以在命令提示視窗游標輸入javac –help 會列出javac的使用參數。

image

所以我們要執行編譯Hello.java,只要在命令提示視窗輸入javac  C:\Users\ab\Desktop\JL\P1\Hello.java ,按enter鍵執行編譯,完成後在Hello.java所在目錄C:\Users\ab\Desktop\JL\P1\ 會產生一個名為Hello.class

image

,這個檔案就是編譯後的位元檔案,但是這個檔案並不能直接執行,必須利用java.exe 這支直譯器來讀取執行,首先一樣在命令提示視窗執行,在游標處輸入 cd  C:\Users\ab\Desktop\JL\P1\,cd是DOS切換所在目錄的指令,先要將目錄切到Hello.class所在的目錄,再輸入 java Hello ,注意Hello後面不需要再加.class,如果命令改成java  Hello.class 反而會產生錯誤訊息。執行的結果是在命令提示視窗輸出Hello, world這句英文。

image

父:看完執行的結果回過來看原來的程式碼,這支程式主要執行的就是第三行的程式碼 System.out.println(“Hello, world");
clip_image001

System.out.println()是java的函數,它的功能是可以在螢幕輸出()中的參數,像上述的程式碼System.out.println(“Hello, world");其中的參數就是"Hello, world"。

父:這支程式的其他部分,我們在下一節再來介紹。

教子學習JAVA程式筆記-開發環境設定

首先要開發JAVA程式,必須依據所使用的作業系統下載安裝適合的JDK版本,一般程式軟體的開發套件簡稱為SDK(Software development kit),而所謂的JDK就是(Java Development Kit),也就是JAVA程式軟體的開發套件。

可以透過以下網址http://java.com 找到Java相關資源的網址,點選

image

可以找到學習JAVA程式的相關資源與下載開發軟體(https://go.java/developer-opportunities/index.html),點選 Download JDK8

image

在下載網頁中會列出目前最新版本各平台的JDK下載的連結

image

選擇符合作業系統的版本,例如目前我使用的作業系統是32位元的WINDOW 7,所以我要選擇下載的版本是 Windows x86 190.94 MB  jdk-8u144-windows-i586.exe ,如果是64位元的WINDOW作業系統則選擇  Windows x64 197.78 MB  jdk-8u144-windows-x64.exe ,注意下載前要點選 Accept License Agreement 同意授權的規範才可下載。

下載後執行安裝,只要依安裝程式的指示,執行下一步安裝的過程,比較需要注意的是JDK安裝的目錄位置,可以自己指定安裝目錄也可使用預設的安裝目錄,但不管如何一定要知道JDK安裝在那裡,以便後續環境變數的設定。因為JDK不像一般套裝的程式開發軟體(IDE)會將相關的編輯、編譯、執行、除錯等程式整合在操作介面中,讓使用者很方便操作只要專注在程式撰寫即可,JDK有點陽春我們必須自行設定一些環境變數讓我們在JAVA程式編譯與執行比較方便,以本例預設安裝的JDK目錄為C:\Program Files\Java\,因為JAVA版本會不斷更新,所以在目錄中會看到幾個以版本號為資料夾名稱的資料夾(系統曾經安裝過的),我們安裝的版本JDK8是jdk1.8.0_144。

image

進入C:\Program Files\Java\jdk1.8.0_144,會看到所有JDK程式的相關程式

image

其中bin資料夾是java相關程式執行檔所在的資料夾,所以我們要把WINDOW的PATH環境變數加入C:\Program Files\Java\jdk1.8.0_144\bin,讓作業系統能對應到該目錄以執行java的相關程式。

如何設定(環境變數以WINDOW 7為例)?

1.叫出"控制台"

image

2.點選"系統"

image

3.在"系統"介面點選左下角"進階系統設定",在"系統內容"\"進階"的頁面下"環境變數"

image

4.在"環境變數"視窗中下方"系統變數"找到"Path"這個系統變數,點選下方"編輯"按鈕image

5.在"編輯系統變數"視窗滑鼠游標進入"變數值"輸入位置,不要更改或刪除原有的值,以免影響系統相關程式執行,我們要在此變數值後加入jdk的目錄值,以本例請加入

;C:\Program Files\Java\jdk1.8.0_144\bin ,記得目錄前要加上;號分隔,再按"確認"按鈕。

image

6.測試我們的設定是否則成功,同時按下WINDOW鍵+R鍵,叫出window"執行"的視窗,在"開啟"輸入cmd,按"確定",開啟命令提示字元視窗

image

image

7.在命令提示字元視窗輸入游標java –version,如果有出現以下訊息代表已經設定成功。

image