使用者工具

網站工具


java:helloworld

國立屏東大學 資訊工程學系 Java物件導向程式設計

3. Hello World!您的第一隻Java程式


本章將先為您示範如何使用NetBeans來開發一個Java的Application。不論您是否已有Java程式設計的經驗,筆者都建議您仔細地閱讀本章,以瞭解在NetBeans中,是如何進行這些設計的工作。我們將以一個十分簡單的程式—『Hello World』做為示範,讓您瞭解NetBeans開發程式的細節。

3.1 使用JDK開發

在開始使用NetBeans進行Java程式開發前,我們先以一個簡單的範例說明如何以JDK完成一個Java程式的開發。我們所要開發的程式,是一個在Console模式輸出『Hello World!』字串的簡單下執行的應用。

  • 首先,確認你的環境中Java是否有正確地被安裝。
    • 打開“命令提示字元”(也就是terminal)
    • 輸入java及javac
    • 檢視是否正確

Windows平台請確定有將jdk目錄下的bin目錄加入到Path環境變數的設定中。

  • 開啟記事本或其它你慣用的文字檔編輯程式
  • 輸入以下的程式碼

HelloWorld.java

public class HelloWorld
{
   public static void main(String[] args)
   {
      System.out.println("Hello World!");
   }
}

  • 完成後,請輸入以下指令

javac HelloWorld.java

  • 如果沒有錯誤,則已完成編譯產生了HelloWorld.class的byte code。再輸入以下指令:

java HelloWorld

  • 你應該會看到成功地輸出Hello World!

關於這個程式的說明,我們將於後續內容中說明。

課堂練習1

3.2 以NetBeans開發

請啟動NetBeans,並依以下說明完成範例程式的編寫與編譯執行等動作。NetBeans是一套包含有專案管理的軟體開發工具,所以我們必須先新增一個Project,然後才能進行後續的開發工作。在NetBeans中,一個Project就是那些為了完成特定工作,所有相關的檔案的集合。例如,一個簡單的應用程式可能會有多個原始程式,而一個Project就是這些檔案的集合。您可以決定Project中的檔案所存放的目錄,或是直接使用預設的位置。

請參考以下步驟

  • 1.開啟NetBeans。
  • 2.以滑鼠選擇功能表中的『File | New Project』,您應該會看到如figure 1圖3-1的畫面,其中主要分成了『Categories』與『Projects』這兩個區域—『Categories』是分類的意思,而『Projects』則是所選取的分類中的專案項目。確定選取Java/Java Application後,按Next按鈕。

執行『File | New Project』後的畫面Fig. 1

  • 3.現在您應該會看到如figure 2的畫面。您必須在此輸入欲建立的Project的目錄、名稱等資料。請輸入Project Name為MyFirstProject,Project Location則使用預設值即可,但請記住其位置。確認Create Main Class處有勾選,並輸入其值為myfirstproject.HelloWorld。一切正確後按Finish按鈕。

指定Project的名稱與目錄Fig. 2

  • 4.接著您應該會看到figure 3的畫面。至此,建立Project的工作就算完成了。

完成新增Project後的畫面Fig. 3

  • 5.請將畫面中的HelloWorld.java程式碼加以編輯,在第17行處增加一行 System.out.println(“Hello World!”)。修改後的程式內容如下所示:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package myfirstproject;

/**
 *
 * @author junwu
 */
public class HelloWorld {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hello World!");
    }
}

  • 6. 現在按下Run Project按鈕,或是選單中的Run/Run Project。看看執行結果是否正確。
  • 7. 現在按下選單中的Run/Clean and Build Project,重新編譯並產生jar檔。
  • 8. 切換到Project所在的目錄以java -jar dist/MyFirstProject.jar加以執行。

3.3 程式說明

前述的HelloWorld.java程式,定義了一個class – 名稱為HelloWorld,以下為您說明相關的細節:

  • Java語言規定,用以定義class的原始程式,其主要檔案名稱必須與class名稱一致。

<note tip> 注意﹕有些書籍將「class定義」稱為「class宣告」,本書將視情況交替使用這兩個名詞。 </note>

<note tip> Java是case sensitive的語言,在為識別字(包含變數名稱、類別名稱等)命名時,大小寫視為不同字元。因此HelloWorld與HELLOWorld、HelloWORLD、helloworld、helloWorld等會被視為不同的識別字。 </note>

  • 第5行的「package myfirstproject;」是用以指定此程式所定義的class屬於myfirstproject這個package(套件)

<note tip> Java是一個物件導向的程式語言,每個使用Java開發的應用程式通常會由多個class(類別)組成。為了方便管理大量的class,Java使用了Package的概念 – 「一個應用程式可以擁有多個packages,而每個package又可包含一個或一個以上的class」。回顧我們以NetBeans所開發完成的第一個專案MyFirstProject,其中就包含有一個package,名為myfirstproject。

在學習Java語言的初期,您應該不會在一個專案中包含多個packages,所以您可以暫時把package管理的問題交由NetBeans負責。您只要先專注於class的部份即可。 </note>

  • HelloWorld.java的第11-20行定義了HelloWorld class。
    • class的定義包含其存取子、class名稱、傳入的參數以及class內容定義
    • 第11行的public為存取子,表示任何人都可以使用這個class
    • 第11行也定義了class名稱,即為前述的HelloWorld
    • 在class名稱後的是一組由大括號包裹起來的class內容(從第12行到第19行)
  • 第1-4行、7-10行、13-15行以及第17行,為程式碼註解(comments)
    • Java語言的註解與C/C++相同,提供兩種註解型式
    • 第一種是單行註解,以「//」開頭
    • 第二種是段落註解,以「/*」開頭,以「*/」結尾
    • 此處看到的是第二種型式,但稍做修改為以「/**」開頭,以「*/」結尾,此種型式主要是配合JavaDoc使用

<note tip> JavaDoc是JDK用以製作程式說明文件的一種工具,我們只要在撰寫程式時,配合JavaDoc規範編寫註解,就可以自動產生程式的說明文件,詳見JavaDoc。 </note>

  • 在第12-19行的class內容定義僅包含一個名為main的method。
  • main method即為程式的進入點
  • Java語言規定程式進入點的型式必須為「public static void main(String[] args)」

<note tip> 在C/C++語言中的function,在Java語言中稱為method(方法)。 </note>

<note tip> 進入點(entry point),係指應用程式啟始後,首先被系統呼叫加以執行之處。一個使用Java開發的應用程式,可以包含多個class,但只能有一個class具有main method,也就是只允許一個進入點。 </note>

  • 第18行是main method中唯一一行的java敘述
  • 呼叫System.out.println() method,將“Hello World!”字串輸出

<note tip> System.out.println()的作用就如同C語言中的printf(),用以輸出字串或資料到標準輸出(也就是console)。 </note>

最後,讓我們將一個最簡單的Java語言的程式架構列示於下:

class className
{
   public static void main(String[] args)
   {
      ... 略 ...
   } 
}

我們在學習java語言的初期,大部份撰寫的程式都會符合以上的架構。

java/helloworld.txt · 上一次變更: 2019/09/26 09:02 (外部編輯)