javac、執行環境、標準類別庫階段一(入門):JDK + 文字編輯器(EditPlus、UltraEdit、Notepad++),強迫掌握 path、classpath、package、javac/java 指令。
階段二(進階):Eclipse(免費、開源、生態豐富),不推薦 JCreator(功能較弱)。
無絕對優劣,視專案需求:極致效能、平台綁定 → C++;跨平台、分散式、開發效率 → Java。
javac Hello.java // 產生 Hello.class
java Hello // 執行(勿加 .class)
JAVA_HOME = JDK 安裝目錄Path 加入 %JAVA_HOME%\binCLASSPATH 必含 .(當前目錄)| 錯誤 | 原因 | 解決 |
|---|---|---|
| 'javac' 不是內部命令 | Path 未設 | 檢查 JAVA_HOME 與 Path |
| NoClassDefFoundError | Classpath 找不到類 | 加入 .;確認 package 目錄結構 |
| NoSuchMethodError: main | main 簽名錯誤 | 必為 public static void main(String[] args) |
java.lang.String vs mypkg.Stringpackage mypkg;javac mypkg/MyClass.javaimport pkg.Class 或 import pkg.*public static void main(String[] args) {
// java MyClass a b → args[0]="a", args[1]="b"
}
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = in.readLine();
int n = Integer.parseInt(s);
PrintWriter out = new PrintWriter(System.out);
out.println("Hello");
out.flush();
BufferedReader fin = new BufferedReader(new FileReader("in.txt"));
PrintWriter fout = new PrintWriter(new FileWriter("out.txt"));
RandomAccessFile raf = new RandomAccessFile("data.dat", "rw");
// 讀取結尾判斷:read() 回傳 -1 表示 EOF
public static final int MAX = 100;
outer: while (true) { for (...) { if (cond) break outer; } }
方法已過時,查 API 尋找替代方案。