教子學習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"。

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

發表留言