import 要放在程式檔案的開頭,例如
import encryptor.Encrypt;
這樣的寫法是只有引入 Encrypt 類別,當然,我們的套件 encryptor 中目前也只有 Encrypt 類別。假設我們在 encryptor 放了很多類別,現在想要把這些類別通通一次引入到程式檔案中,可利用萬用字元星號 *
import encryptor.*;
是的,星號也是乘法運算子 (operator) ,這裡卻是屬於萬用字元,因為編譯器 (compiler) 會看符號的所在位置給符號相對應的功能,小數點 . 也一樣喔!如果小數點的前後是數字,代表浮點數的字面常數 (literal) ,小數點前後是識別字 (identifier) 的話,就表示用在類別或物件 (object) 囉!
所以使用套件 encryptor 的 EncryptDemo 如下
import encryptor.Encrypt; public class EncryptDemo { public static void main(String[] args) { System.out.println(); String s[] = {"There is no spoon.", "It is all around us.", "Free your mind.", "Follow the white rabbit.", "Choice. The problem is choice.", "Action, reaction. Cause, effect.", "Everything that has a beginning has an end.", "Because I choose to."}; Encrypt e = new Encrypt(); String t = ""; for (int i = 0; i < 8; i++) { t = e.toEncode(s[i]); System.out.println(t); t = e.toDecode(t); System.out.println(t); } System.out.println(); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:EncryptDemo.java 功能:示範 Java 程式 作者:張凱慶 時間:西元 2011 年 4 月 */
由於第 1 行
import encryptor.Encrypt;
已經引入 encryptor 套件中 Encrypt 類別的名稱,因此第 15 行
Encrypt e = new Encrypt();
這裡就只需要用 Encrypt 就可以了,至於編譯執行結果會跟之前一樣,所以讀者就自己試試哩 :)
不過現在對我們初學 Java ,用 import 引入自己設計套件的機會可能並不多,但有很多時候需要用到 API 的東西,使用 API 就需要使用 import ,例如以下是個猜數字程式
import java.io.*; public class GuessGame { public static void main(String[] args) throws Exception { int answer = (int) (Math.random() * 10); InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); int guess = -1; int i = 0; String s; while (answer != guess) { System.out.println(); System.out.println("請輸入 0 - 9 的數字: "); s = input.readLine(); char[] c = s.toCharArray(); guess = (int) (c[0] - 48); i++; } System.out.printf("\n一共回答了 %d 次....\n\n", i); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:GuessGame.java 功能:示範 Java 程式 作者:張凱慶 時間:西元 2011 年 4 月 */
先來編譯執行看看
這個程式很簡單,就是給使用者猜 0 到 9 之間的整數,首先,第一行 import java.io 的所有東西, java.io 就是 API 中專門處理輸出與輸入的套件,其中像
InputStreamReader BufferedReader
這兩個類別, InputStreamReader 與 BufferedReader 就是 java.io 中用來處理輸入的,而有一些像
Math.random() System.in System.out.println() System.out.printf()
這幾個我們都沒有引入,因為這些是在 API 裡的 java.lang 套件裡的, Java 預設可以直接使用 java.lang 所定義的類別,因此不需要用 import 就能夠直接使用。
嗯,接下來我們就來概略認識 Java API 囉!
中英文術語對照 | |
---|---|
套件 | package |
類別 | class |
運算子 | operator |
編譯器 | compiler |
字面常數 | literal |
識別字 | identifier |
物件 | object |
您可以繼續參考
軟體開發
相關目錄
回 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 月訂正
沒有留言:
張貼留言