@@ -187,4 +187,126 @@ Java 執行環境本身就是一個平台,執行於這個平台上的程式是
187
187
2.3 第一個 Java 程式
188
188
--------------------
189
189
190
- 待續 ...
190
+ 完成 JDK 相關環境設定之後,無論如何就先寫個簡單的 Java 程式,以測試一下環境設定是否正確,順便增強一些學習的信心,以下要介紹的第一個 Java 程式是會顯示 "嗨!我的第一個 Java 程式!" 這段訊息的簡單程式。
191
+
192
+ ## 2.3.1 撰寫、編譯 Java 程式 ##
193
+
194
+ 在正式撰寫程式之前,請先確定您可以看的到檔案的副檔名,在 Windows 2000/XP 下預設是不顯示檔案的副檔名,這會造成您重新命名檔案時的困擾,如果您目前在「檔案總管」下無法看到檔案的副檔名,請先執行工具列上的「工具/資料夾選項」並切換至「檢視」頁面,取消「隱藏已知檔案類型的副檔名」之選取。
195
+
196
+ ![ 取消「隱藏已知檔案類型的副檔名」以顯示副檔名] ( ../images/img02-12.png )
197
+
198
+ 圖 2.12 取消「隱藏已知檔案類型的副檔名」以顯示副檔名
199
+
200
+ 接著選擇一個目錄來撰寫 Java 原始碼檔案,假設是檔案會儲存在 C:\workspace 目錄,您要新增一個「文字文件」(也就是 .txt 文件),並重新命名文件為「HelloJava.java」,由於您是將文字文件的副檔名從 .txt 改為 .java,所以系統會詢問您是否更改副檔名,請確定更改,接著在「HelloJava.java」上按兩下開啟檔案,並照著圖 2.13 撰寫程式。
201
+
202
+ ![ 第一個 Java 程式] ( ../images/img02-13.png )
203
+
204
+ 圖 2.13 第一個 Java 程式
205
+
206
+ 這個程式有幾點必須注意:
207
+
208
+ - Java 的原始檔案必須以副檔名 .java 作結束
209
+
210
+ 這也就是您必須讓「檔案總管」顯示副檔名的原因。
211
+
212
+ - 主檔名與類別名稱必須一致
213
+
214
+ Java 程式的類別名稱是指 "class" 關鍵字(Keyword)後的名稱,就這個例子而言,也就是 HelloJava 這個名稱,這個名稱必須與 HelloJava.java 的主檔名(HelloJava)一致。
215
+
216
+ - 注意每個字母的大小寫
217
+
218
+ Java 程式中會區分字母的大小寫,System 與 system 對 Java 程式來說是不一樣的名稱。
219
+
220
+ - 空白只能是半型空白字元或是Tab字元
221
+
222
+ 有些初學者可能不小心輸入了全型空白字元,這很不容易檢查出來。
223
+
224
+ 撰寫好程式並存檔後,接著開啟一個文字模式,並使用以下的指令切換至 HelloJava.java 所在的目錄(在此例中是 C:\workspace):
225
+
226
+ > cd C:\workspace
227
+
228
+ 接著使用 javac 工具程式來編譯 .java 檔案,這邊指定編譯 HelloJava.java,指令如下:
229
+
230
+ C:\workspace\javac HelloJava.java
231
+
232
+ 如果編譯順利成功,則在 HelloJava.java 所在的目錄,會出現一個 HelloJava.class 的檔案,這是已經編譯完成的 Java 位元碼(bytecodes)檔案程式。
233
+
234
+ 您可能會遇到以下的幾個錯誤,這表示您有一些地方操作有誤:
235
+
236
+ - error: cannot read: HelloJava.java
237
+
238
+ 這表示 javac 工具程式找不到您指定的 .java 檔案,請檢查檔案是否存在目前的目錄中,或是檔案名稱是否有誤。
239
+
240
+ - HelloJava.java:1: class HelloJava is public, should be declared in a file named HellJava.java
241
+
242
+ 類別名稱與主檔名不符,請確定主檔名與類別名稱是相同的。
243
+
244
+ - HelloJava.java:3: cannot find symbol
245
+
246
+ 程式碼中某些部份打錯了,最常發生的原因可能是沒有注意到字母大小寫。
247
+
248
+ - 'javac' 不是內部或外部命令、可執行的程式或批次檔。
249
+
250
+ Path 設定有誤或沒有在 Path 中加入 JDK 的「bin」目錄,請參考前一節的內容。
251
+
252
+ ## 2.3.2 執行 Java 程式 ##
253
+
254
+ 在順利編譯出 .class 的檔案之後,可以使用 java 工具程式來執行它,執行時必須指定類別名稱,就以上的例子來說,也就是指定 HelloJava.class 這個檔案的主檔名,指令執行方式如下:
255
+
256
+ C:\workspace>java HelloJava
257
+
258
+ java 工具程式會根據您指定的類別名稱,實際載入 .class 的檔案,以上例來說,就是載入 HelloJava.class 並執行,執行的結果應該是圖 2.14 的畫面。
259
+
260
+ ![ 執行第一個 Java 程式的成功畫面] ( ../images/img02-14.png )
261
+
262
+ 圖 2.14 執行第一個 Java 程式的成功畫面
263
+
264
+ 您可能會遇到以下的幾個錯誤,這表示您有一些地方操作有誤:
265
+
266
+ - Exception inthread"main" java.lang.NoClassDefFoundError
267
+
268
+ java 工具程式找不到您所指定的類別,請確定指定的類別存在目前的目錄中,名稱是否指定正確(如果是舊版的 JDK,可能必須在 Classpath 中加入 ".",表示可於目前目錄中找到所指定的類別)。
269
+
270
+ - Exceptionin thread "main" java.lan.NosuchMethodError: main
271
+
272
+ 沒有指定 Java 程式的進入點(Entry point),java 工具程式指定的類別必須要有一個程式進入點,也就是必須包括 main(String[ ] args)這個方法(method),請確定您的程式中包括它,必須與圖 2.13 的 HelloJava.java 內容一致。
273
+
274
+ 在之後的章節,如果不是要特別強調的話,不再重複指出如何編譯與執行 Java 程式,在往後的章節中說要編譯 Java 程式時,就是指使用 javac 工具程式來編譯 .java,而說要執行 Java 程式時,就是指使用 java 工具程式來執行指定的 Java 類別。
275
+
276
+ 2.4 選擇開發工具
277
+ ----------------
278
+
279
+ 從學習的角度來說,建議初學者使用純文字檔案來撰寫 Java 程式,並在文字模式下親自使用工具程式來編譯、執行 Java 程式,藉此來瞭解關於 Path、Classpath,熟悉工具程式的使用,習慣一些撰寫 Java 程式所必須注意的地方,嘗試從文字模式所提供的訊息中瞭解所撰寫的程式發生什麼問題,以及如何改正這些問題。
280
+
281
+ 當然只使用純文字檔案總是有相當多的不便,在學習 Java 一段時間之後,您也許會想要找尋一個好用的 Java 開發工具,這邊的建議是先從簡單的文字編輯輔助工具開始,像是 [ UltraEdit] ( http://www.ultraedit.com/ ) 或 [ Editplus] ( http://www.editplus.com/ ) ,這兩個文字編輯輔助工具都有語法標示顯示,以及一些好的尋找、取代、比較等功能,在Linux下的話,我經常使用 vi 來編輯 Java 程式。
282
+
283
+ 從開發效率的角度來看,選擇一個好的整合開發環境(Integrated Development Environment, IDE)是必要,使用何種開發整合開發環境,依開發團隊的需求而各有不同,如果沒有什麼特別的需求,建議可以從簡單的 [ JCreater] ( http://www.jcreator.com/ ) 或 [ BlueJ] ( http://www.bluej.org/index.html ) 開始,這些開發環境不僅提供語法顯示等方便程式編輯的功能,也整合了一些 Java 工具程式的使用,使用上並不會太複雜,作為在文字編輯程式之後的進階開發環境程式,是個不錯的嘗試。
284
+
285
+ 如果想要使用功能更齊全的 IDE,[ JBuilder] ( http://www.borland.com/ ) 、[ Eclipse] ( http://www.eclipse.org ) 、[ NetBeans] ( http://www.netbeans.org/ ) 等都是功能齊全的 IDE,也都各有其支持者,但如果您想找一個可以免費使用而功能齊全的 IDE 的話,建議可以使用 Eclipse 或 NetBeans。
286
+
287
+ Eclipse 是個可以免費下載、使用的IDE,但並不因為它免費而缺少必要的功能, Eclipse 提供了 JDT(Java Development Tools),這是基於 Eclipse 且功能齊全的 Java IDE(Eclipse 並不只被用來開發 Java 程式),它所提供的 PDE(Plug-In Development Environment)可以讓您對 JDT 進行功能擴展,在網路上總是可以找到 Plug-In 程式來加入 Eclipse 中以增加您所要想的功能,必要時,您也可以開發自己的 Plug-In 來為 Eclipse 擴展功能,Eclipse 也是大多數的 Java 開發人員所推薦的 IDE。
288
+
289
+ ![ Eclipse 是個功能強大且 free 的 IDE] ( ../images/img02-15.png )
290
+
291
+ 圖 2.15 Eclipse 是個功能強大且 free 的 IDE
292
+
293
+ NetBeans IDE 是 Sun 官方所推薦下載的 IDE,在 Java 官方網站上也可以下載綁定 NetBeans IDE 的 JDK 安裝檔案,NetBeans 本身是個高度模組化的 IDE,可以讓您下載新功能模組來擴充 IDE 的功能。在 NetBeans 在 5.0 版本之後,功能已相當成熟,每一次新的 JDK 版本釋出之後,NetBeans IDE 總是最先支援新版 JDK 的IDE,有相當多的 Java 開發人員也推薦使用 NetBeans IDE。
294
+
295
+ ![ NetBeans 是 Sun 官方所推薦的 IDE] ( ../images/img02-16.png )
296
+
297
+ 圖 2.16 NetBeans 是 Sun 官方所推薦的 IDE
298
+
299
+ > ** 良葛格的話匣子** 在我學習Java的過程中,差不多有兩年的時間,都是使用純文字檔案撰寫Java程式,這使得我對Java能有深入的瞭解,因而我建議初學者(完全沒有程式經驗的使用者)在學習Java的過程中,也從純文字檔案撰寫Java中開始學習,在您真正需要開發程式(或團隊需求),或想學習一個IDE的使用時,才開始使用IDE開發Java程式,不要只是偷懶或貪圖方便而使用IDE。
300
+
301
+ 2.5 接下來的主題
302
+ ----------------
303
+
304
+ 每一個章節的內容由淺至深,初學者該掌握的深度要到哪呢?在這個章節中,對於初學者我建議至少掌握以下幾點內容:
305
+
306
+ - 能自行下載、安裝 JDK
307
+ - 瞭解 JDK、JRE 的安裝位置
308
+ - 懂得設定 Path 之目的
309
+ - 懂得設定 Classpath 之目的
310
+ - 能成功的自行撰寫並執行第一個 Java 程式
311
+
312
+ 之後的章節將以這一個章節的內容作為基礎進行說明,首先將從 Java 的資料型態、變數常數、流程控制開始介紹,這也是學習任何一個程式語言都不可缺少的過程。
0 commit comments