首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 入門完整指南:JDK/JRE/IDE 選擇、命令操作、I/O 與關鍵字詳解(上)

     編輯:Java 程式設計入門

Java 生態系統基礎認知

核心術語辨析

  • Java:通用、並發、強型別、物件導向程式語言
  • JDK (J2SDK):Sun 免費提供的開發工具包,含編譯器、執行環境、工具
  • JRE (J2RE):Java 執行環境,僅能執行程式,無開發工具。JDK 內含 JRE
  • 版本號:1.3、1.4.2 等為 JDK 版本,對應 Java 平台規範版本

三大平台版本

  • J2SE:標準版,桌面/伺服器通用開發基礎
  • J2EE:企業版,針對分散式企業應用,規範伺服器與開發約束
  • J2ME:微型版,面向嵌入式/行動裝置(如功能型手機),擁有獨立 SDK

開發工具建議

初學者建議 JDK + 文字編輯器(如 EditPlus、UltraEdit),強迫理解 path、classpath、package 及 javac/java 指令。熟練後可轉用 Eclipse(免費、功能強大),不推薦 JCreator(功能較弱)。

參考書籍推薦

  1. 《Java 程式設計思想》:首選,第一章深入淺出講解 OOP 思想
  2. O'Reilly 與 Wrox 出版社系列
  3. 建議直接閱讀英文技術文檔與 API,養成查閱習慣

Java vs C++:無優劣,唯適合

需極致效能、平台綁定、無跨平台需求 → C++;需跨平台、分散式、開發效率優先 → Java。

命令列實戰

編譯與執行流程

javac Hello.java  // 產生 Hello.class
java Hello        // 執行(注意:不加 .class)

環境變數設定關鍵

  • JAVA_HOME = JDK 安裝目錄
  • Path 追加 %JAVA_HOME%\bin
  • CLASSPATH 必須包含 .(當前目錄),否則出現 NoClassDefFoundError

常見錯誤對策

錯誤訊息原因解決
'javac' 不是內部命令Path 未設定或錯誤檢查 JAVA_HOME 與 Path
NoClassDefFoundErrorClasspath 找不到類別加入 . 至 CLASSPATH;確認 package 目錄結構
NoSuchMethodError: mainmain 方法簽名錯誤必須為 public static void main(String[] args)

Package 與 Import

  • 套件提供命名空間隔離,如 java.lang.String vs mypackage.String
  • 源檔首行宣告 package mypackage;
  • 編譯/執行需在專案根目錄下:javac mypackage/MyClass.java、java mypackage.MyClass
  • 無 package 宣告屬預設套件(不建議正式專案使用)
  • import pkg.Class 或 import pkg.* 簡化類別名稱使用

I/O 基礎操作

命令列參數

public static void main(String[] args) {
    // java MyClass arg1 arg2 → args[0]="arg1", args[1]="arg2"
}

鍵盤輸入(雙位元組支援中文)

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();

注意:System.in/out 為單位元組流,處理中文需用 Reader/Writer 系列。

檔案讀寫

// 讀取
BufferedReader fin = new BufferedReader(new FileReader("file.txt"));
// 寫入
PrintWriter fout = new PrintWriter(new FileWriter("file.txt"));
// 隨機存取
RandomAccessFile raf = new RandomAccessFile("file.txt", "rw");
// 判斷結尾
int ch = reader.read(); // 回傳 -1 表示 EOF

關鍵字深度解析

無巨集,用常數替代

Java 無 #define 巨集(不保證型別安全)。定義常數用 static final:

public static final int MAX_SIZE = 100;

final 關鍵字三重奏

  • 變數:final int x = 9; 不可重新指派
  • 方法:禁止覆寫
  • 類別:禁止繼承(如 String、Math)

const 為保留字,不可使用。

無 goto,用標籤 break/continue

outer:
while (true) {
    inner:
    for (int i = 0; i < 10; i++) {
        if (condition) break outer; // 直接跳出外層迴圈
    }
}

deprecated API 警告

表示方法已過時,保留為相容性,未來可能移除。查閱 API 文檔尋找替代方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved