本章將引導讀者了解 Java 應用程式與 Applet 小應用程式的基本結構,並實作編譯、執行的完整流程。
不同於前幾章的理論講解,本章將採「先實作、後講解」的方式,帶領讀者親手撰寫第一支 Java 程式,體會開發流程。
md c:\javastudycd c:\javastudy
HelloWorld.java(檔名大小寫需完全一致):notepad HelloWorld.javapublic class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!!");
}
}
javac HelloWorld.javaHelloWorld.class 位元碼檔案。bin 目錄已加入系統路徑。
java HelloWorld透過「逐層解析法」來理解這支 7 行程式的架構:
public class HelloWorld {
// ...
}
public:公用存取修飾詞class:類別關鍵字HelloWorld:類別名稱(必須與檔名相同)整個程式即為 HelloWorld 類別,所有程式碼皆包含於大括號 { } 內。
public static void main(String args[]) {
// ...
}
main() 函式,但在 Java 中稱為「方法」static 表示無需建立物件即可呼叫System.out.println("Hello World!!");
System:系統類別out:標準輸出串流(螢幕)println:列印並換行Applet 不能直接由命令列執行,需嵌入 HTML 網頁,透過瀏覽器或 AppletViewer 執行。
notepad HelloWorldApplet.javaimport java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello World!", 0, 50);
}
}
javac HelloWorldApplet.java → 產生 HelloWorldApplet.class
notepad HelloWorldApplet.html<HTML>
<HEAD><TITLE>Java Applet 測試</TITLE></HEAD>
<BODY>
<APPLET CODE="HelloWorldApplet.class" WIDTH=200 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
<APPLET> 標籤屬性說明:
CODE:指定 Applet 類別檔
WIDTH/HEIGHT:顯示區域寬高
c:\javastudy\HelloWorldApplet.htmlAppletViewer HelloWorldApplet.html
import java.applet.Applet;
import java.awt.Graphics;
相當於 C/C++ 的 #include,引入所需的類別庫。java.applet.Applet 為所有 Applet 的父類別,java.awt.Graphics 提供繪圖功能。
public class HelloWorldApplet extends Applet { ... }
extends Applet 表示繼承 Applet 類別,成為其子類別。
Applet 非自行啟動,而是由瀏覽器載入並呼叫預定義的生命週期方法。paint(Graphics g) 為繪製畫面的方法,瀏覽器需重繪時會自動呼叫。
g.drawString("Hello World!", 0, 50);
使用 Graphics 物件 g 在座標 (0,50) 繪製字串。
java HelloWorld.java → NoClassDefFoundError: HelloWorld/javajava HelloWorld.class → NoClassDefFoundError: HelloWorld/java結論:java 指令後接類別名稱,不可加副檔名。
原始碼使用 JOptionPane 顯示對話框,編譯執行指令:
notepad Welcome.java
javac Welcome.java
java Welcome
執行結果將彈出視窗顯示歡迎訊息。
包含 init() 初始化方法與 Label 元件,需建立對應 HTML 頁面,使用 AppletViewer 或瀏覽器執行。