Java 入門指南 - 認識 Java 語言

使用 Java 語言寫程式,最簡單的方式就是開啟文字編輯器 (text editor) ,然後將原始程式碼逐字元一個一個打進文字編輯器中,然後依純文字檔案的編碼格式儲存檔案, Java 程式的原始碼檔案採用 .java 的副檔名。




也可以利用具有語法高亮度顯示的文字編輯器,或是整合開發環境 (Integrated Development Environment, IDE) ,如下圖為 Mac 系統的 Xcode



使用本站的語法高亮度顯示,此範例程式 Demo.java 如下
// 宣告類別名稱
public class Demo { 
    // 宣告 main() 方法
    public static void main(String[] args) { 
        // 建立 Object 型態的物件
        Object o = new Object(); 
        
        // 於命令列印出訊息
        System.out.println();
        System.out.println(o.toString());
        System.out.println("↑↑ 上面是 Object 的字串形式");
        System.out.println();
        System.out.println("程式執行結束 ....");
        System.out.println();
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:Demo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2011 年 4 月 */


我們先看到有特殊顏色標記的幾個字
public class static void new


publicclassstaticvoidnew 被稱為關鍵字 (keyword) ,所謂的關鍵字是語法功能的保留字 (reserved word) ,具有既定特殊的用法,例如 public 為權限的修飾子 (modifier) , public 表示公開的,也就是任何地方都可以存取以 public 宣告 (declare) 的內容。 Java 共有 50 個關鍵字,我們接下來會逐一介紹各個關鍵字的用法。


另外,雙引號圍起來的內容則為另一種顏色
"↑↑ 上面是 Object 的字串形式"
"程式執行結束 ...."


這是字串 (string) ,所謂的字串就是文字資料,由於 Java 採用 Unicode 編碼,因此字串內容可以是任何 Unicode 字元。


Unicode 提供數十種文字系統編碼的方式,其中包括我們日常使用的中文,詳細可參見維基百科的介紹 http://zh.wikipedia.org/wiki/Unicode


註解 (comment) 在語法高亮度系統也有特殊的顏色,連續兩個斜線為單行的注釋,斜線、星號開始到另一組星號、斜線結束的範圍則為多行的註解
// 宣告類別名稱
// 宣告 main() 方法
// 建立 Object 型態的物件
// 於命令列印出訊息

/* 《程式語言:教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:Demo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2011 年 4 月 */


所謂的註解就是在程式中輔助說明的文字,凡是註解文字,也就單行連續兩個斜線之後的文字,或是多行斜線、星號範圍間的文字,這些文字都不會被程式執行,因此可插入任何自然語言的說明字句,無須恪守 Java 的語法規則。


其他沒有粗體,也沒有特殊顏色的文字都是識別字 (identifier) ,所謂的識別字是我們寫程式自行定義的名稱,如上例中的變數 (variable) o 。事實上,許多識別字已經是預設或存在於 Java API 之中,預設如上面的 main() 與 args , main() 為方法 (method) 名稱,每個可執行的 Java 程式都必須有個 main() 方法, args 則是 main() 的參數 (parameter) 名稱。


Java API 提供許多已經寫好,測試無誤的類別 (class) ,因此我們寫程式可以直接使用這些類別,以及其所提供的方法與屬性 (field) ,方法為類別進行工作的地方,屬性則為類別專屬的資料。我們應該先認識什麼是什麼,往後才繼續瞭解這些東東的用法。


上例中, Object 、 String 、 System 、 out 與 println() 都屬於 API 中的識別字, Object 、 String 、 System 等三個都是類別名稱, out 為 System 類別的屬性,實際上 out 是一個物件 (object) , println() 則是 out 物件的方法。


這個範例很簡單,大體上我們可以依四個單行註解分成四個區域來看,分別是
  • 宣告類別名稱
  • 宣告 main() 方法
  • 建立 Object 型態的物件
  • 於命令列印出訊息


由於 Java 是物件導向程式語言 (object-oriented programming language) ,使用 Java 寫程式就是設計、規劃物件,而類別為物件的藍圖,因此所有的 Java 程式都至少有一個類別,也就是說, Java 程式都必須用 class 定義, class 就是定義類別所採用的關鍵字。


可執行的 Java 程式則需要定義 main() 方法,這個 main() 需要用 publicstatic 修飾, public 表示公開的, static 表示可由類別名稱存取,這是給 Java 虛擬機器 (Java Virtual Machine, JVM) 呼叫 (call) 之用, Java 程式實際上是由 Java 虛擬機器執行的。


new 關鍵字用來新建物件,變數 o 為對 Object 型態物件的參考 (reference) ,由於 Java 是強型態 (strong typing) 的程式語言,因此變數使用前需要先經過宣告 (declaration) ,宣告的目的就是標明變數的資料型態 (data type) 。 new 之後接的 Object() 為 Object 類別的建構子 (constructor) ,透過建構子就可以把類別轉化為物件。


底下使用 API 中 System 類別 out 物件的 println() 方法,使參數一次一行印在命令列上,其中用到
System.out.println(o.toString());


println() 需要 String 型態的物件當作參數, String 型態的物件也就是字串,雙引號圍起來的內容。 o 呼叫 o 自己的 toString() 方法,這個方法會回傳 o 的字串表達形式,也就是表示 o 的字串物件。


一種類別,也就是一種型態(資料型態),我們繼續來看看如何編譯與執行吧!


中英文術語對照
文字編輯器text editor
整合開發環境Integrated Development Environment, IDE
關鍵字keyword
保留字reserved word
修飾子modifier
宣告declare
字串string
註解comment
識別字identifier
變數variable
方法method
參數parameter
類別class
屬性field
物件object
物件導向程式語言object-oriented programming language
Java 虛擬機器Java Virtual Machine, JVM
呼叫call
參考reference
強型態strong typing
宣告declaration
資料型態data type
建構子constructor


您可以繼續參考
基礎篇


相關目錄
回 Java 入門指南
回 Java 教材目錄
回首頁


參考資料
The JavaTM Tutorials: Getting Started
The JavaTM Tutorials: Learning the Java Language
The JavaTM Tutorials: Essential Classes
The Java Language Specification, Third Edition


本文於 2013 年 1 月訂正

2 則留言:

Unknown 提到...

另外,雙引號為起來的內容則為另一種顏色
"↑↑ 上面是 Object 的字串形式"
"程式執行結束 ...."

===

這段有錯字唷~
另外,雙引號「圍」起來的內容則為另一種顏色

Kaiching Chang 提到...

這邊打錯字了,已修改,感謝指正 ^_^