《Java基礎(chǔ)》PPT課件

上傳人:san****019 文檔編號(hào):21286190 上傳時(shí)間:2021-04-27 格式:PPT 頁(yè)數(shù):307 大?。?.47MB
收藏 版權(quán)申訴 舉報(bào) 下載
《Java基礎(chǔ)》PPT課件_第1頁(yè)
第1頁(yè) / 共307頁(yè)
《Java基礎(chǔ)》PPT課件_第2頁(yè)
第2頁(yè) / 共307頁(yè)
《Java基礎(chǔ)》PPT課件_第3頁(yè)
第3頁(yè) / 共307頁(yè)

下載文檔到電腦,查找使用更方便

19.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《Java基礎(chǔ)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《Java基礎(chǔ)》PPT課件(307頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第 一 章 Java語(yǔ) 言 概 述 Java 基 礎(chǔ) 知 識(shí) 培 訓(xùn) 主 要 內(nèi) 容 提 要 Java 基 礎(chǔ) 培 訓(xùn)Java程 序 的 開(kāi) 發(fā) 環(huán) 境 Java程 序 相 關(guān) 問(wèn) 題 Java語(yǔ) 言 的 主 要 特 性 Java語(yǔ) 言 的 發(fā) 展 歷 史 Java程 序 的 開(kāi) 發(fā) 過(guò) 程 Java語(yǔ) 言 的 發(fā) 展 歷 史 Java 基 礎(chǔ) 培 訓(xùn)Internet迅 猛 發(fā) 展Java語(yǔ) 言 正 式 問(wèn) 世被 美 國(guó) 著 名 雜 志 PC Magazine評(píng) 為 1995年 十 大 優(yōu)秀 科 技 產(chǎn) 品 之 一James Gosling領(lǐng) 導(dǎo) 的 Green小組 開(kāi) 發(fā) 了 面 向 數(shù)字

2、家 電 的 Oak語(yǔ)言 推 出 了 Java2平臺(tái) 。 性 能 上 有 所提 高 , 而 且 對(duì)Java的 基 本 模 式進(jìn) 行 了 完 善 , 并提 供 了 更 為 豐 富的 API 1991 1995 1998 Java2 的 版 本 劃 分 Java 基 礎(chǔ) 培 訓(xùn) Java語(yǔ) 言 的 主 要 特 性 Java 基 礎(chǔ) 培 訓(xùn) 平 臺(tái) 無(wú) 關(guān) 性 簡(jiǎn) 單 性 面 向 對(duì) 象 分 布 式 、 動(dòng) 態(tài) 性 、 可 靠 性 、 安 全 性 多 線 程 Java程 序 相 關(guān) 問(wèn) 題 Java虛 擬 機(jī)Java虛 擬 機(jī) 在 真 實(shí) 機(jī) 器 中 用 軟 件 模 擬 實(shí) 現(xiàn)的 一 種 抽 象 的

3、機(jī) 器 。 ( Java虛 擬 機(jī) 規(guī) 范 ) Java虛 擬 機(jī) 主 要 由 五 個(gè) 部 分 組 成 : 指 令 系 統(tǒng) 、寄 存 器 、 棧 、 存 儲(chǔ) 區(qū) 、 碎 片 回 收 區(qū) 解 釋 和 執(zhí) 行 Java程 序 編 譯 后 產(chǎn) 生 的 字 節(jié) 碼 Java 基 礎(chǔ) 培 訓(xùn) Java程 序 相 關(guān) 問(wèn) 題 Java API Java API是 Java系 統(tǒng) 提 供 的 預(yù) 先 定 義 好 的 軟 件 組 件 的 集 合 ,它 們 提 供 了 許 多 可 供 程 序 員 調(diào) 用 的 常 用 功 能 豐 富 的 API為 程 序 員 提 供 了 極 大 的 方 便 , 但 也 是 學(xué) 習(xí)

4、 的 難 點(diǎn) 要 學(xué) 會(huì) 使 用 Java API手 冊(cè) (The Java 2 Platform API Specification ) http:/ Java 基 礎(chǔ) 培 訓(xùn) Java程 序 相 關(guān) 問(wèn) 題 Java程 序 的 運(yùn) 行 機(jī) 制 Java 基 礎(chǔ) 培 訓(xùn) 源 代 碼 可 執(zhí) 行 代 碼目 標(biāo) 碼編譯 連接 運(yùn)行源 代 碼 字 節(jié) 碼編譯 解 釋 執(zhí)行傳 統(tǒng) 語(yǔ) 言 的 運(yùn) 行 機(jī) 制Java語(yǔ) 言 的 運(yùn) 行 機(jī) 制 Java程 序 相 關(guān) 問(wèn) 題 Java程 序 類(lèi) 型 Java應(yīng) 用 程 序 ( Java Application) 是 獨(dú) 立 完 整 的 程 序 在 命

5、令 行 調(diào) 用 獨(dú) 立 的 解 釋 器 軟 件 即 可 運(yùn) 行 主 類(lèi) 必 須 有 main方 法 , 這 也 是 程 序 的 入 口 Java小 程 序 Java Applet 是 指 在 客 戶(hù) 端 運(yùn) 行 的 Java小 程 序 , 一般 來(lái) 說(shuō) 客 戶(hù) 端 是 指 用 戶(hù) 所 使 用 的 瀏 覽 器 Java Servlet 是 在 服 務(wù) 器 端 執(zhí) 行 的 Java小 程 序 ,為 了 能 夠 支 持 Servlet的 運(yùn) 行 , 服 務(wù) 器 端 必 須 安 裝 包 含Java虛 擬 機(jī) 的 服 務(wù) 器 軟 件 , 這 種 能 夠 支 持 服 務(wù) 端 小 程序 的 服 務(wù) 器 一

6、般 被 稱(chēng) 為 應(yīng) 用 服 務(wù) 器 Java 基 礎(chǔ) 培 訓(xùn) Java開(kāi) 發(fā) 環(huán) 境JDK/J2SDK( Java Developer Kit) JDK1.02 JDK1.1.x JDK1.2/J2SDK1.3/J2SDK1.4/JDK5.0(J2SDK1.5) Java集 成 開(kāi) 發(fā) 環(huán) 境 ( IDE) NetBeans JBuilder Eclipse JCreator Forte for Java Visual J+ WSAD Java 基 礎(chǔ) 培 訓(xùn) JDK的 安 裝 與 設(shè) 置從 http:/ 以 下 載 相 關(guān) 版 本 的JDK( 本 課 程 采 用 J2SDK1.3以 上 版

7、本 )在 Windows平 臺(tái) 上 運(yùn) 行 安 裝 程 序 , 以 安 裝 JDK設(shè) 置 PATH( 文 件 路 徑 ) 參 數(shù) 。 由 于 JDK提 供 的 實(shí)用 程 序 都 在 安 裝 目 錄 下 的 子 目 錄 bin下 , 為 了 能在 任 何 目 錄 下 直 接 使 用 文 件 名 調(diào) 用 這 些 程 序 , 必須 設(shè) 置 操 作 系 統(tǒng) 的 文 件 路 徑 參 數(shù) Java 基 礎(chǔ) 培 訓(xùn) 環(huán) 境 設(shè) 置在 Windows環(huán) 境 下 , 為 了 快 速 進(jìn) 入 指 定 目 錄 的 命令 行 窗 口 , 可 在 注 冊(cè) 表 中 增 加 項(xiàng) 目 : HKEY_CLASSES_ROOTD

8、irectoryshell進(jìn) 入 命 令 行command 默 認(rèn) 值 設(shè) 為 : cmd /k cd %1 Java 基 礎(chǔ) 培 訓(xùn) JDK的 目 錄 結(jié) 構(gòu) Java 基 礎(chǔ) 培 訓(xùn) bin目 錄 中 包 含 了 所 有 JDK5.0提供 的 實(shí) 用 程 序demo目 錄 中 包 含 了 JDK5.0自 帶 的實(shí) 例 程 序inculde目 錄 中 包 含 了 一 些 支 持Java native方 法 的 CC+頭 文 件jre目 錄 中 包 含 了 Java運(yùn) 行 環(huán) 境所 需 的 所 有 文 件 , 這 個(gè) 目 錄 中 所 包含 的 java運(yùn) 行 環(huán) 境 是 JDK私 有 的 ,它

9、 只 為 JDK的 實(shí) 用 程 序 提 供 支 持lib目 錄 中 包 含 了 Java開(kāi) 發(fā) 環(huán) 境所 需 的 庫(kù) 文 件 , 它 們 以 jar文 件 的形 式 保 存sample目 錄 中 包 含 的 是 體 現(xiàn)JDK5.0新 特 性 的 一 些 例 程 JDK實(shí) 用 程 序 簡(jiǎn) 介javac: Java編 譯 器 , 將 Java源 代 碼 編 譯 為 字 節(jié) 碼 ;java: Java解 釋 器 , 用 來(lái) 解 釋 執(zhí) 行 Java程 序 的 字 節(jié) 碼 文件 ;appletviewer(小 程 序 瀏 覽 器 ): 一 種 執(zhí) 行 HTML文 件 上 的Java小 程 序 類(lèi) 的

10、Java瀏 覽 器 ;javadoc: 根 據(jù) Java源 代 碼 及 其 說(shuō) 明 語(yǔ) 句 生 成 的 HTML文 檔 ;jdb: Java調(diào) 試 器 , 可 以 逐 行 地 執(zhí) 行 程 序 、 設(shè) 置 斷 點(diǎn) 和 檢查 變 量 ;javah: 產(chǎn) 生 可 以 調(diào) 用 Java過(guò) 程 的 C過(guò) 程 , 或 建 立 能 被Java程 序 調(diào) 用 的 C過(guò) 程 的 頭 文 件 ;javap: Java反 匯 編 器 , 顯 示 編 譯 類(lèi) 文 件 中 的 可 訪 問(wèn) 功 能和 數(shù) 據(jù) , 同 時(shí) 顯 示 字 節(jié) 代 碼 含 義 。 Java 基 礎(chǔ) 培 訓(xùn) Java程 序 的 開(kāi) 發(fā) 過(guò) 程 編

11、輯 源 代 碼 編 譯 源 代 碼 文 件運(yùn) 行 程 序 Java 基 礎(chǔ) 培 訓(xùn) Java程 序 的 開(kāi) 發(fā) 過(guò) 程 編 輯 源 代 碼一 般 情 況 下 , 我 們 可 以 使 用 系 統(tǒng) 平 臺(tái) 下 的 任 何 文 本 編 輯器 進(jìn) 行 源 代 碼 的 編 輯 , 在 Windows平 臺(tái) 下 常 用 的 是 Window系 統(tǒng) 自 帶 的 “ 記 事 本 ” 程 序 或 “ 寫(xiě) 字 板 ” 程 序 Java源 碼 大 小 寫(xiě) 敏 感Java源 碼 文 件 的 擴(kuò) 展 名 : .javaJava源 程 序 文 件 也 不 能 隨 意 命 名 , 其 文 件 名 必 須 與 程 序中 主

12、類(lèi) 的 類(lèi) 名 完 全 相 同 , 包 括 大 小 寫(xiě) 在 內(nèi) Java 基 礎(chǔ) 培 訓(xùn)public class MyFirstJavaApp public static void main(String args) System.out.println(“This is My First Java Application!”); Java程 序 的 開(kāi) 發(fā) 過(guò) 程 編 譯 源 代 碼使 用 JDK實(shí) 用 程 序 javac對(duì) 源 代 碼 文 件 進(jìn) 行 編 譯 C:MyJavajavac MyFirstJavaApp.java 如 果 系 統(tǒng) 提 示 符 再 次 出 現(xiàn) 并 且 沒(méi) 有 任

13、何 消 息 產(chǎn) 生 , 那么 編 譯 便 成 功 了 如 果 有 系 統(tǒng) 報(bào) 錯(cuò) 消 息 產(chǎn) 生 , 則 表 示 程 序 編 譯 出 錯(cuò) , 程序 員 必 須 閱 讀 報(bào) 錯(cuò) 信 息 , 并 根 據(jù) 這 些 信 息 對(duì) 程 序 進(jìn) 行修 改程 序 成 功 編 譯 后 , 在 與 源 代 碼 文 件 同 一 目 錄 下 會(huì)生 成 一 個(gè) 新 的 文 件 , 其 文 件 名 與 源 代 碼 文 件 名 相同 , 擴(kuò) 展 名 為 “ .class” 。 這 個(gè) 文 件 就 是 源 代 碼文 件 編 譯 產(chǎn) 生 的 程 序 字 節(jié) 碼 文 件 MyFirstJava.class Java 基 礎(chǔ) 培

14、訓(xùn) Java程 序 的 開(kāi) 發(fā) 過(guò) 程 運(yùn) 行 程 序 要 執(zhí) 行 一 個(gè) Java程序 非 常 簡(jiǎn) 單 , 只 需在 字 節(jié) 碼 文 件 所 在目 錄 下 輸 入 下 列 命令 就 可 以 了 : java 字 節(jié) 碼 文 件 名 Java 基 礎(chǔ) 培 訓(xùn) 第 2 章 面 向 對(duì) 象 的 編 程 概 念 主 要 內(nèi) 容 提 要 Java 基 礎(chǔ) 培 訓(xùn)什 么 是 接 口 什 么 是 繼 承 什 么 是 類(lèi) 什 么 是 消 息 什 么 是 對(duì) 象 面 向 對(duì) 象 vs. 面 向 過(guò) 程面 向 對(duì) 象 ( OOP) Object-Oriented Programming 用 類(lèi) class封 裝

15、 數(shù) 據(jù) 以 及 與 數(shù) 據(jù) 相 關(guān) 的 操 作 用 類(lèi) 的 繼 承 性 來(lái) 實(shí) 現(xiàn) 類(lèi) 的 重 用 性 多 態(tài) 性 面 向 “ 對(duì) 象 ” , 由 對(duì) 象 提 供 服 務(wù)面 向 過(guò) 程 ( POP) Procedure-Oriented Programming 以 功 能 為 組 織 單 元 通 過(guò) 數(shù) 據(jù) 結(jié) 構(gòu) 來(lái) 描 述 具 體 的 問(wèn) 題 數(shù) 據(jù) 在 功 能 (函 數(shù) )之 間 以 參 數(shù) 的 形 式 被 傳 送 Java 基 礎(chǔ) 培 訓(xùn) 現(xiàn) 實(shí) 世 界 中 的 對(duì) 象現(xiàn) 實(shí) 世 界 是 由 對(duì) 象 構(gòu) 成 的現(xiàn) 實(shí) 世 界 中 任 何 實(shí) 體 都 可 以 看 作 是 對(duì) 象 現(xiàn) 實(shí)

16、 世 界 中 的 對(duì) 象 有 兩 個(gè) 共 同 特 征 : 狀 態(tài) 行 為 Java 基 礎(chǔ) 培 訓(xùn) 軟 件 對(duì) 象 ( Object)軟 件 對(duì) 象 是 現(xiàn) 實(shí) 世 界 對(duì) 象 的 抽 象軟 件 對(duì) 象 同 樣 具 有 狀 態(tài) 和 行 為定 義 : 對(duì) 象 是 變 量 和 相 關(guān) 方 法 的 軟 件 組 合 Java 基 礎(chǔ) 培 訓(xùn) 變 量方 法 現(xiàn) 實(shí) 對(duì) 象 軟 件 對(duì) 象 Java 基 礎(chǔ) 培 訓(xùn) 方 法 叫 咬 吃是 否 餓 了: 否名 字 : 小Q顏 色 : 黑 封 裝 ( Encapsulation)封 裝 性 體 現(xiàn) 了 面 向 對(duì) 象 程 序 設(shè) 計(jì) 的 一 個(gè) 特 性 , 將

17、方 法 和 數(shù) 據(jù) 組 織 在 一 起 , 隱 藏 其 具 體 實(shí) 現(xiàn) 而 對(duì) 外體 現(xiàn) 出 公 共 的 接 口 模 塊 化 隱 藏 信 息 Java 基 礎(chǔ) 培 訓(xùn) 變 量方 法 消 息 ( Message)復(fù) 雜 的 行 為 必 須 通 過(guò) 對(duì) 象 之 間 的 交 互 來(lái) 實(shí) 現(xiàn)軟 件 對(duì) 象 與 其 它 對(duì) 象 進(jìn) 行 交 互 與 通 訊 是 通 過(guò) 互 發(fā)消 息 來(lái) 實(shí) 現(xiàn) 的 Java 基 礎(chǔ) 培 訓(xùn) 對(duì) 象 B對(duì) 象 A 消 息 消 息 的 組 成消 息 的 目 的 對(duì) 象要 執(zhí) 行 的 方 法 的 名 稱(chēng)方 法 所 需 參 數(shù) Java 基 礎(chǔ) 培 訓(xùn) 你 的 車(chē) 你 換 檔 (

18、 低 檔 ) 消 息 的 性 質(zhì)同 一 對(duì) 象 可 接 收 不 同 形 式 的 多 個(gè) 消 息 , 產(chǎn) 生 不 同的 響 應(yīng)同 一 個(gè) 消 息 可 以 發(fā) 給 不 同 的 對(duì) 象 , 所 做 出 的 響 應(yīng)可 以 截 然 不 同發(fā) 送 方 不 需 要 知 道 接 受 方 如 何 對(duì) 請(qǐng) 求 予 以 響 應(yīng) 的 Java 基 礎(chǔ) 培 訓(xùn) 類(lèi) ( Class)定 義 : 類(lèi) 是 藍(lán) 圖 或 原 型 , 它 定 義 了 所 有 某 種 類(lèi) 的對(duì) 象 的 共 有 的 變 量 和 方 法類(lèi) 是 具 有 共 同 屬 性 和 行 為 的 對(duì) 象 的 抽 象 與 集 合 Java 基 礎(chǔ) 培 訓(xùn) 私 有 的

19、實(shí) 現(xiàn) 細(xì) 節(jié)公 共 API 實(shí) 例 ( Instance)定 義 : 特 定 類(lèi) 所 描 述 的 一 個(gè) 具 體 對(duì) 象 Java 基 礎(chǔ) 培 訓(xùn) 對(duì) 象 、 類(lèi) 與 實(shí) 體 的 關(guān) 系 Java 基 礎(chǔ) 培 訓(xùn) 對(duì) 象類(lèi) 計(jì) 算 機(jī) 邏 輯 的 實(shí) 現(xiàn)映 射計(jì) 算 機(jī) 世 界實(shí)例化 抽象 實(shí) 體抽 象 數(shù) 據(jù) 類(lèi)現(xiàn) 實(shí) 世 界概 念 世 界 抽 象 繼 承 ( Inheritance)廣 義 地 說(shuō) , 繼 承 是 指 能 夠 直 接 獲 得 已 有 的 性 質(zhì) 和 特性 , 而 不 必 重 復(fù) 定 義 它 們 。 在 面 向 對(duì) 象 的 軟 件 技 術(shù)中 , 繼 承 是 子 類(lèi) 自 動(dòng)

20、地 共 享 父 類(lèi) 中 定 義 的 數(shù) 據(jù) 和 方法 的 機(jī) 制 。 Java 基 礎(chǔ) 培 訓(xùn) 共 性 部 分繼 承 部 分個(gè) 性 部 分 父 類(lèi)子 類(lèi) 單 重 繼 承 與 多 重 繼 承單 重 繼 承 : 一 個(gè) 子 類(lèi) 只 有 一 個(gè) 唯 一 確 定 的 父 類(lèi) 單 重 繼 承 所 構(gòu) 成 的 類(lèi) 的 關(guān) 系 結(jié) 構(gòu) 是 一 棵 樹(shù)多 重 繼 承 : 一 個(gè) 子 類(lèi) 可 以 有 多 個(gè) 不 同 的 父 類(lèi) 多 重 繼 承 所 構(gòu) 成 的 類(lèi) 的 關(guān) 系 結(jié) 構(gòu) 是 一 個(gè) 格Java語(yǔ) 言 僅 支 持 單 重 繼 承 Java 基 礎(chǔ) 培 訓(xùn) 繼 承 的 作 用使 軟 件 系 統(tǒng) 具 有

21、開(kāi) 放 性更 好 地 進(jìn) 行 抽 象 與 分 類(lèi)實(shí) 現(xiàn) 代 碼 的 復(fù) 用提 高 可 維 護(hù) 性 Java 基 礎(chǔ) 培 訓(xùn) 類(lèi) 型 ( Type)在 面 向 數(shù) 值 的 編 程 中 , 類(lèi) 型 通 常 用 作 數(shù) 據(jù) 的 表 示 。在 Java這 樣 的 強(qiáng) 類(lèi) 型 語(yǔ) 言 中 , 在 編 譯 期 , 每 一 個(gè)變 量 和 表 達(dá) 式 都 有 一 個(gè) 類(lèi) 型 與 之 相 對(duì) 應(yīng)Java中 的 類(lèi) 型 : 基 本 類(lèi) 型 、 類(lèi) 、 接 口 Java 基 礎(chǔ) 培 訓(xùn) 接 口 ( Interface)接 口 和 類(lèi) 一 樣 也 是 一 種 類(lèi) 型 , 也 同 樣 包 含 一 些 方法 的 定 義

22、。 但 與 類(lèi) 不 同 的 是 : 接 口 中 所 定 義 的 所有 方 法 都 是 抽 象 方 法 ( 即 沒(méi) 有 實(shí) 現(xiàn) 的 方 法 ) 。接 口 中 所 定 義 的 方 法 由 實(shí) 現(xiàn) ( implement) 該 接口 的 類(lèi) 來(lái) 實(shí) 現(xiàn) , 一 個(gè) 類(lèi) 可 以 同 時(shí) 實(shí) 現(xiàn) 多 個(gè) 接 口接 口 機(jī) 制 使 Java的 面 向 對(duì) 象 編 程 變 得 更 加 靈 活 。解 決 了 單 重 繼 承 帶 來(lái) 的 問(wèn) 題接 口 定 義 了 對(duì) 象 的 行 為 模 型 , 相 當(dāng) 于 一 個(gè) 協(xié) 議 。實(shí) 現(xiàn) 接 口 的 各 個(gè) 類(lèi) 負(fù) 責(zé) 實(shí) 現(xiàn) 接 口 所 定 義 的 行 為 。雖 然

23、 實(shí) 現(xiàn) 細(xì) 節(jié) 各 不 相 同 , 但 對(duì) 用 戶(hù) 來(lái) 說(shuō) 是 一 樣 的行 為 。 Java 基 礎(chǔ) 培 訓(xùn) 面 向 對(duì) 象 的 示 例本 例 中 包 含 很 多 對(duì) 象 : 點(diǎn) 、 窗 口 、 顏 色 、 點(diǎn) 擊 事件 代 碼 : ClickMeApp.java , ClickMe.java, Spot.java Java 基 礎(chǔ) 培 訓(xùn) Spot類(lèi) Java 基 礎(chǔ) 培 訓(xùn) public class Spot /instance variables private int size; public int x, y; /constructor public Spot() x = -1;

24、 y = -1; size = 1; /methods for access to the size instance variable public void setSize(int newSize) if (newSize = 0) size = newSize; public int getSize() return size; Spot對(duì) 象 Java 基 礎(chǔ) 培 訓(xùn) private Spot spot = null; . spot = new Spot(); 示 例 中 的 消 息 Java 基 礎(chǔ) 培 訓(xùn) g2d.setColor(Color.WHITE); g2d.fillRec

25、t(0, 0, getWidth() - 1, getHeight() - 1); 示 例 中 的 繼 承 和 接 口 Java 基 礎(chǔ) 培 訓(xùn) public class ClickMe extends JComponent implements MouseListener . public class ClickMe extends JComponent implements MouseListener . /Methods required by the MouseListener interface. public void mousePressed(MouseEvent event)

26、if (spot = null) spot = new Spot(); spot.setSize(RADIUS); spot.x = event.getX(); spot.y = event.getY(); repaint(); public void mouseClicked(MouseEvent event) public void mouseReleased(MouseEvent event) public void mouseEntered(MouseEvent event) public void mouseExited(MouseEvent event) 歡 迎 提 問(wèn) 第 三 章

27、 Java語(yǔ) 言 基 礎(chǔ) 變 量 ( Variable) 對(duì) 象 將 它 的 狀 態(tài) 存 儲(chǔ) 在 變 量 中定 義 : 變 量 是 一 個(gè) 由 標(biāo) 識(shí) 符 命 名 的 數(shù) 據(jù) 項(xiàng) 變 量 名 必 須 是 一 個(gè) 合 法 的 標(biāo) 識(shí) 符 -一 個(gè) 以 字 母開(kāi) 頭 的 無(wú) 限 制 的 Unicode字 符 序 列 。變 量 的 聲 明 : ; int i; double pi = 3.1415926; String name; Java 基 礎(chǔ) 培 訓(xùn) 數(shù) 據(jù) 類(lèi) 型 每 個(gè) 變 量 都 必 須 有 一 個(gè) 數(shù) 據(jù) 類(lèi) 型 . 一 個(gè) 變 量 的 數(shù)據(jù) 類(lèi) 型 決 定 了 它 能 容 納 的 值

28、 和 在 它 上 面 可 以 進(jìn) 行什 么 操 作 。Java編 程 語(yǔ) 言 有 兩 大 類(lèi) 數(shù) 據(jù) 類(lèi) 型 : 原 始 類(lèi) 型 (primitive) 引 用 類(lèi) ( reference) Java 基 礎(chǔ) 培 訓(xùn) Java的 數(shù) 據(jù) 類(lèi) 型 Java 基 礎(chǔ) 培 訓(xùn) Java type systemprimitive referencechar numeric boolean class interface arrayinteger floating-pointbyte short int long float double 原 始 類(lèi) 型 原 始 類(lèi) 型 變 量 包 含 單 個(gè) 值 ,

29、其 大 小 和 格 式 與 它 的類(lèi) 型 匹 配 : 數(shù) 字 、 字 符 或 布 爾 值 。Java語(yǔ) 言 沒(méi) 有 unsigned類(lèi) 型 0 xFFFF和 0 xFF誰(shuí) 大 ?Java語(yǔ) 言 必 須 強(qiáng) 制 類(lèi) 型 轉(zhuǎn) 換 float f = 0.1; boolean b = 1; Java 基 礎(chǔ) 培 訓(xùn) 引 用 類(lèi) 型數(shù) 組 , 類(lèi) 和 接 口 就 是 引 用 數(shù) 據(jù) 類(lèi) 型 .與 原 始 類(lèi) 型變 量 的 值 不 同 的 是 , 引 用 類(lèi) 型 變 量 的 值 是 對(duì) 應(yīng) 變量 代 表 的 一 個(gè) 值 或 一 組 值 的 引 用 ( 也 就 是 其 地 址 ) 在 其 他 語(yǔ) 言 里

30、引 用 被 稱(chēng) 為 指 針 或 者 內(nèi) 存 地 址 。Java不 支 持 顯 示 地 使 用 地 址 , 而 是 使 用 變 量 的 名稱(chēng) 代 替 。 Java 基 礎(chǔ) 培 訓(xùn) 變 量 的 引 用 通 過(guò) 變 量 名 引 用 變 量 的 值簡(jiǎn) 單 名 稱(chēng) : 由 單 個(gè) 標(biāo) 識(shí) 符 組 成 的 名 稱(chēng)限 定 名 稱(chēng) : 通 過(guò) 類(lèi) 名 或 對(duì) 象 名 引 用 該 類(lèi) 或 對(duì) 象 中的 成 員 變 量 System.out.println(i+spot.x); Java 基 礎(chǔ) 培 訓(xùn) 作 用 范 圍 變 量 的 作 用 范 圍 是 可 以 通 過(guò) 簡(jiǎn) 單 名 稱(chēng) 引 用 該 變 量的 程 序

31、區(qū) 域作 用 范 圍 也 決 定 了 系 統(tǒng) 為 該 變 量 創(chuàng) 建 和 釋 放 內(nèi) 存的 時(shí) 間 Java 基 礎(chǔ) 培 訓(xùn) 例 子 Java 基 礎(chǔ) 培 訓(xùn) int i = 10;if ( i 0) int i = 20; System.out.println(“The value of i = ” + i); System.out.println(“The value of i = ” + i); 最 終 變 量 你 可 以 在 任 意 范 圍 里 將 一 個(gè) 變 量 定 義 為 最 終 變 量( final)最 終 變 量 的 值 一 經(jīng) 初 始 化 就 不 能 改 變類(lèi) 似 于 C語(yǔ)

32、言 中 的 常 量 (const) Java 基 礎(chǔ) 培 訓(xùn)final int aFinalVar = 0; final int blankfinal; . . . blankfinal = 0; 操 作 符 、 表 達(dá) 式 、 語(yǔ) 句 和 塊 Java 基 礎(chǔ) 培 訓(xùn) 自 學(xué) ! 第 四 章 對(duì) 象 基 礎(chǔ) 和 簡(jiǎn) 單 數(shù) 據(jù) 對(duì) 象 主 要 內(nèi) 容 Java 基 礎(chǔ) 培 訓(xùn)數(shù) 組 數(shù) 字字 符 和 字 符 串對(duì) 象 的 生 存 周 期 對(duì) 象 的 生 命 周 期 Java 基 礎(chǔ) 培 訓(xùn) CreateObjectDeom Java 基 礎(chǔ) 培 訓(xùn) public class CreateOb

33、jectDemo public static void main(String args) /創(chuàng) 建 一 個(gè) Point對(duì) 象 和 兩 個(gè) Rectangle對(duì) 象 Point origin_one = new Point(23, 94); Rectangle rect_one = new Rectangle(origin_one, 100, 200); Rectangle rect_two = new Rectangle(50, 100); / 顯 示 rect_one的 寬 、 高 以 及 面 積 System.out.println(Width of rect_one: + rect_o

34、ne.width); System.out.println(Height of rect_one: + rect_one.height); System.out.println(Area of rect_one: + rect_one.area(); rect_two.origin = origin_one; /設(shè) 置 rect_two的 位 置 / 顯 示 rect_two的 位 置 System.out.println(X Position of rect_two: + rect_two.origin.x); System.out.println(Y Position of rect_tw

35、o: + rect_two.origin.y); / 移 動(dòng) rect_two并 且 顯 示 它 的 新 位 置 rect_two.move(40, 72); System.out.println(X Position of rect_two: + rect_two.origin.x); System.out.println(Y Position of rect_two: + rect_two.origin.y); 對(duì) 象 的 創(chuàng) 建 Java 基 礎(chǔ) 培 訓(xùn)類(lèi) 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 聲 明 一 個(gè) 變 量 來(lái) 引 用 對(duì) 象為 了 聲

36、明 一 個(gè) 變 量 來(lái) 引 用 對(duì) 象 , 你 可 以 使 用 類(lèi) 或者 接 口 的 名 字 作 為 變 量 的 類(lèi) 型聲 明 并 沒(méi) 有 創(chuàng) 建 新 對(duì) 象 。 在 對(duì) 該 引 用 變 量 賦 值 前 ,該 引 用 為 空 ,稱(chēng) 為 空 引 用 (null) Java 基 礎(chǔ) 培 訓(xùn) 類(lèi) 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) )Point origin_one 實(shí) 例 化 對(duì) 象new操 作 符 通 過(guò) 為 新 對(duì) 象 分 配 內(nèi) 存 來(lái) 實(shí) 例 化 一 個(gè)類(lèi)new操 作 符 需 要 一 個(gè) 后 綴 參 數(shù) , 即 構(gòu) 造 器 的 一 個(gè)調(diào) 用new操 作

37、 符 返 回 一 個(gè) 對(duì) 它 所 創(chuàng) 建 對(duì) 象 的 引 用 , 通常 該 引 用 被 賦 值 給 具 有 適 當(dāng) 類(lèi) 型 的 引 用 變 量 如 果 new操 作 符 返 回 的 引 用 沒(méi) 有 被 賦 給 任 何 變 量 , 那 么 當(dāng) new操 作 符 所 在 的 語(yǔ) 句 執(zhí) 行 完 后 , 將 無(wú) 法 訪 問(wèn) 該 對(duì) 象Java 基 礎(chǔ) 培 訓(xùn)類(lèi) 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 初 始 化 對(duì) 象構(gòu) 造 器 ( Constructor) : 是 一 個(gè) 用 來(lái) 創(chuàng) 建 對(duì) 象的 特 殊 方 法 , 用 來(lái) 初 始 化 對(duì) 象 的 屬 性 。

38、 構(gòu) 造 器 的 名 字 與 類(lèi) 名 相 同 構(gòu) 造 器 沒(méi) 有 返 回 值 構(gòu) 造 器 所 包 含 的 語(yǔ) 句 用 來(lái) 對(duì) 所 創(chuàng) 建 的 對(duì) 象 進(jìn) 行 初 始 化 沒(méi) 有 參 數(shù) 的 構(gòu) 造 器 稱(chēng) 為 “ 無(wú) 參 構(gòu) 造 器 ” 每 個(gè) Java類(lèi) 都 至 少 有 一 個(gè) 構(gòu) 造 器 , 如 果 該 類(lèi) 沒(méi) 有 顯 式地 聲 明 任 何 構(gòu) 造 器 , 系 統(tǒng) 會(huì) 默 認(rèn) 地 為 該 類(lèi) 提 供 一 個(gè) 不包 含 任 何 語(yǔ) 句 的 無(wú) 參 構(gòu) 造 器 Java 基 礎(chǔ) 培 訓(xùn) 類(lèi) 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 對(duì) 象 創(chuàng) 建 的 實(shí) 例

39、 Java 基 礎(chǔ) 培 訓(xùn) public class Point public int x = 0; public int y = 0; public Point(int x, int y) this.x = x; this.y = y; Point origin_one = new Point(23, 94); 問(wèn) 題 Java 基 礎(chǔ) 培 訓(xùn) Point origin_one = new Point(23, 94); Point origin_two = new Point(23, 94); oringin_one=oringin_twoPoint origin_one = new Poi

40、nt(23, 94); Point origin_two =origin_two;oringin_one=oringin_two 構(gòu) 造 器 的 重 載 ( Overload)一 個(gè) 類(lèi) 可 以 包 含 多 個(gè)構(gòu) 造 器 , 這 種 情 況 成為 構(gòu) 造 器 的 重 載同 一 個(gè) 類(lèi) 中 的 多 個(gè) 構(gòu)造 器 通 過(guò) 參 數(shù) 的 數(shù) 目及 類(lèi) 型 的 不 同 來(lái) 區(qū) 分 Java 基 礎(chǔ) 培 訓(xùn) public class Rectangle public int width = 0; public int height = 0; public Point origin; public Rect

41、angle() origin = new Point(0, 0); public Rectangle(Point p) origin = p; public Rectangle(int w, int h) this(new Point(0, 0), w, h); public Rectangle(Point p, int w, int h) origin = p; width = w; height = h; . 對(duì) 象 的 使 用對(duì) 象 的 使 用 有 兩 種 方 式 操 作 或 者 檢 查 它 的 變 量 調(diào) 用 它 的 方 法要 使 用 對(duì) 象 的 實(shí) 例 成 員 , 首 先 需 要 得

42、 到 該 對(duì) 象 的引 用 Java 基 礎(chǔ) 培 訓(xùn) 變 量方 法 實(shí) 例 成 員 與 類(lèi) 成 員實(shí) 例 成 員 包 括 實(shí) 例 變 量 與 實(shí) 例 方 法 實(shí) 例 成 員 依 賴(lài) 于 實(shí) 例 存 在 同 一 個(gè) 類(lèi) 的 不 同 實(shí) 例 都 擁 有 一 份 實(shí) 例 變 量 的 拷 貝 , 對(duì)某 個(gè) 實(shí) 例 的 實(shí) 例 變 量 的 操 作 不 影 響 到 其 它 實(shí) 例 實(shí) 例 變 量 遵 循 對(duì) 象 的 生 命 周 期 , 隨 著 對(duì) 象 的 創(chuàng) 建 而 創(chuàng)建 , 隨 著 對(duì) 象 的 消 亡 而 消 亡 必 須 通 過(guò) 實(shí) 例 的 引 用 來(lái) 調(diào) 用 實(shí) 例 方 法類(lèi) 成 員 包 括 類(lèi) 變

43、量 與 類(lèi) 方 法 類(lèi) 成 員 不 依 賴(lài) 于 實(shí) 例 存 在 同 一 個(gè) 類(lèi) 的 不 同 實(shí) 例 共 享 同 一 個(gè) 類(lèi) 變 量 , 對(duì) 類(lèi) 變 量 的改 變 會(huì) 影 響 到 所 有 實(shí) 例 類(lèi) 變 量 的 生 存 期 不 依 賴(lài) 于 對(duì) 象 , 其 它 類(lèi) 可 以 不 用 通 過(guò)創(chuàng) 建 該 類(lèi) 的 實(shí) 例 , 直 接 通 過(guò) 類(lèi) 名 訪 問(wèn) 它 們 。 同 樣 , 類(lèi)方 法 也 可 以 直 接 通 過(guò) 類(lèi) 名 訪 問(wèn) 。 Java 基 礎(chǔ) 培 訓(xùn) 實(shí) 例 成 員 與 類(lèi) 成 員 Java 基 礎(chǔ) 培 訓(xùn) class ABCD char data; static int share_data

44、;class Demo ABCD a,b,c,d; /實(shí) 例 化 實(shí) 例 變 量 的 引 用簡(jiǎn) 單 名 稱(chēng) 當(dāng) 實(shí) 例 變 量 處 在 作 用 域 內(nèi) (即 對(duì) 象 的 類(lèi) 的 代 碼 內(nèi) ) 的 時(shí) 候 限 定 名 稱(chēng) objectReference.variableName 當(dāng) 實(shí) 例 變 量 處 在 作 用 域 外 時(shí) 使 用 限 定 名 稱(chēng) Java 基 礎(chǔ) 培 訓(xùn)System.out.println(Width of rect_one: + rect_one.width);System.out.println(Height of rect_one: + rect_one.height

45、);int height=new Rectangle().height; 關(guān) 于 變 量 訪 問(wèn) 的 說(shuō) 明建 議 不 要 通 過(guò) 其 它 對(duì) 象 或 類(lèi) 直 接 操 作 對(duì) 象 的 變 量 ,可 能 引 起 無(wú) 效 值理 想 情 況 下 ,類(lèi) 會(huì) 提 供 一 些 方 法 ,其 他 對(duì) 象 可 以 通過(guò) 他 們 檢 查 或 修 改 變 量 , 確 保 值 有 效 , 而 且 如 果變 量 的 類(lèi) 型 和 名 稱(chēng) 發(fā) 生 了 變 化 , 不 會(huì) 影 響 它 的 使用 者在 某 些 情 況 下 , 可 以 允 許 對(duì) 對(duì) 象 變 量 的 直 接 訪 問(wèn) ,以 使 類(lèi) 更 小 更 簡(jiǎn) 單 , 也 可

46、 使 變 量 適 用 于 更 廣 泛 范圍 ;JAVA編 程 語(yǔ) 言 提 供 了 一 個(gè) 訪 問(wèn) 控 制 機(jī) 制 , 通 過(guò) 這種 機(jī) 制 , 類(lèi) 可 以 決 定 那 些 其 它 的 類(lèi) 可 以 直 接 訪 問(wèn)它 的 變 量 ( 第 五 章 中 介 紹 ) 。 Java 基 礎(chǔ) 培 訓(xùn) 調(diào) 用 對(duì) 象 的 方 法使 用 限 定 名 稱(chēng) 來(lái) 調(diào) 用 對(duì) 象 的 方 法 objectReference.methodName(argumentList); 或 者 objectReference.methodName(); Java 基 礎(chǔ) 培 訓(xùn)System.out.println(Area of

47、rect_one: + rect_one.area();rect_two.move(40, 72);int areaOfRectangle = new Rectangle(100, 50).area(); 關(guān) 于 方 法 調(diào) 用方 法 被 聲 明 為 public, 就 可 以 被 任 何 其 它 的 類(lèi) 所訪 問(wèn) 。 有 時(shí) , 類(lèi) 需 要 限 制 對(duì) 它 的 方 法 的 訪 問(wèn)類(lèi) 可 以 使 用 與 控 制 變 量 訪 問(wèn) 相 同 的 機(jī) 制 來(lái) 對(duì) 它 的方 法 進(jìn) 行 訪 問(wèn) 控 制 ( 第 五 章 中 介 紹 ) Java 基 礎(chǔ) 培 訓(xùn) 對(duì) 象 的 清 除JAVA運(yùn) 行 時(shí) 環(huán) 境

48、 在 當(dāng) 對(duì) 象 不 再 被 使 用 的 時(shí) 候 清 除它 們 , 這 個(gè) 過(guò) 程 就 是 所 謂 的 “ 垃 圾 收 集 ”( garbage collection)Java的 垃 圾 收 集 器 自 動(dòng) 掃 描 對(duì) 象 的 動(dòng) 態(tài) 內(nèi) 存 區(qū) ,對(duì) 被 引 用 的 對(duì) 象 加 標(biāo) 記 , 然 后 把 沒(méi) 有 引 用 的 對(duì) 象作 為 垃 圾 收 集 起 來(lái) 并 釋 放 。垃 圾 收 集 器 作 為 一 個(gè) 線 程 運(yùn) 行 。 當(dāng) 系 統(tǒng) 的 內(nèi) 存 用盡 或 程 序 中 調(diào) 用 System.gc()要 求 進(jìn) 行 垃 圾 收 集時(shí) , 垃 圾 收 集 線 程 與 系 統(tǒng) 同 步 運(yùn) 行

49、。 否 則 垃 圾 收集 器 在 系 統(tǒng) 空 閑 時(shí) 異 步 地 執(zhí) 行 。 Java 基 礎(chǔ) 培 訓(xùn) 無(wú) 用 對(duì) 象 的 判 定當(dāng) 某 個(gè) 對(duì) 象 不 在 被 任 何 引 用 變 量 引 用 時(shí) , 該 對(duì) 象是 無(wú) 用 對(duì) 象 , 將 被 清 除 。 一 般 有 如 下 兩 種 情 況 : Java 基 礎(chǔ) 培 訓(xùn) 引 用 變 量 超 出 了 作 用 域 StringBuffer s = newStringBuffer(“thisisatest”); / 超 出 對(duì) 象 作 用 域引 用 變 量 引 用 了 其 它 對(duì) 象 或 引 用 了 空 對(duì) 象StringBuffer s = new

50、 StringBuffer(“test1”); s = new StringBuffer(“test2”); / 引 用 了 新 的 對(duì) 象 s = null; / 引 用 為 空 finalize()方 法在 對(duì) 對(duì) 象 進(jìn) 行 垃 圾 收 集 前 , Java運(yùn) 行 時(shí) 系 統(tǒng) 會(huì) 自動(dòng) 調(diào) 用 對(duì) 象 的 finalize()方 法 來(lái) 釋 放 系 統(tǒng) 資 源 。某 些 情 況 下 , 程 序 員 可 能 需 要 實(shí) 現(xiàn) 該 方 法 來(lái) 釋 放不 由 垃 圾 收 集 器 所 控 制 的 資 源 。 但 這 種 情 況 非 常少 見(jiàn)finalize()方 法 是 在 Object中 有 缺

51、 省 實(shí) 現(xiàn) , 在 用戶(hù) 自 定 義 的 類(lèi) 中 , 它 可 以 被 覆 蓋 , 但 一 般 在 最 后要 調(diào) 用 父 類(lèi) 的 finalize()方 法 來(lái) 清 除 對(duì) 象 所 使 用的 所 有 資 源 Java 基 礎(chǔ) 培 訓(xùn) 問(wèn) 題 一下 列 程 序 的 運(yùn) 行 結(jié) 果 ? Java 基 礎(chǔ) 培 訓(xùn) public class SomethingIsWrong public static void main(String args) Rectangle myRect; myRect.width = 40; myRect.height = 50; System.out.println(my

52、Rects area is + myRect.area(); 問(wèn) 題 二現(xiàn) 有 一 個(gè) Point和 Rectangle對(duì) 象 , 代 碼 執(zhí) 行 后 有多 少 引 用 指 向 它 們 ? 有 沒(méi) 有 對(duì) 象 需 要 垃 圾 收 集 ? Java 基 礎(chǔ) 培 訓(xùn) Point point = new Point(2,4);Rectangle rectangle = new Rectangle(point, 20, 20);point = null; 字 符 和 字 符 串 Java API提 供 了 三 個(gè) 處 理 字 符 數(shù) 據(jù) 的 類(lèi) : Character: 這 個(gè) 類(lèi) 的 實(shí) 例 可 以

53、 容 納 單 一 的 字 符 數(shù) 值 。該 類(lèi) 還 定 義 了 一 些 簡(jiǎn) 潔 的 方 法 來(lái) 操 作 或 者 檢 查 單 一字 符 數(shù) 據(jù) 。 String: 這 個(gè) 類(lèi) 用 于 處 理 由 多 個(gè) 字 符 組 成 的 不 可 變數(shù) 據(jù) 。 StringBuffer: 這 個(gè) 類(lèi) 用 于 存 儲(chǔ) 和 操 作 由 多 個(gè) 字 符組 成 的 可 變 數(shù) 據(jù) 。 Java 基 礎(chǔ) 培 訓(xùn) 字 符 類(lèi) ( Character)字 符 類(lèi) 的 對(duì) 象 包 含 單 個(gè) 字 符 值當(dāng) 需 要 使 用 對(duì) 象 時(shí) , 可 以 用 字 符 對(duì) 象 替 代 原 始 的char類(lèi) 型 的 變 量 Java 基 礎(chǔ)

54、 培 訓(xùn) 字 符 類(lèi) 構(gòu) 造 器 和 方 法Character(char) Character類(lèi) 唯 一 的 構(gòu) 造 器 ,它 創(chuàng) 建 一 個(gè) 字 符 對(duì) 象 , 其 中 包 含 由 參 數(shù) 提 供 的 值 ,一 旦 創(chuàng) 建 了 Character對(duì) 象 , 它 包 含 的 值 就 不 能改 變 。compareTo(Character) 這 個(gè) 實(shí) 例 方 法 比 較 兩 個(gè)字 符 對(duì) 象 包 含 的 值 , 這 個(gè) 方 法 返 回 一 個(gè) 整 數(shù) 值 ,表 示 當(dāng) 前 對(duì) 象 中 的 值 是 大 于 、 等 于 還 是 小 于 參 數(shù)所 包 含 的 值 Java 基 礎(chǔ) 培 訓(xùn) 字 符 類(lèi)

55、 構(gòu) 造 器 和 方 法equals(Object) 這 個(gè) 實(shí) 例 方 法 比 較 當(dāng) 前 對(duì) 象 包含 的 值 與 參 數(shù) 對(duì) 象 包 含 的 值 , 如 果 兩 個(gè) 對(duì) 象 包 含的 值 相 等 , 那 么 這 個(gè) 方 法 返 回 truetoString() 這 個(gè) 實(shí) 例 方 法 將 此 對(duì) 象 轉(zhuǎn) 換 為 字 符串charValue() 這 個(gè) 實(shí) 例 方 法 以 原 始 char值 的 形式 返 回 此 字 符 對(duì) 象 包 含 的 值isUpperCase() 這 個(gè) 實(shí) 例 方 法 判 斷 一 個(gè) 原 始char值 是 否 是 大 寫(xiě) 字 母 Java 基 礎(chǔ) 培 訓(xùn) 字 符

56、類(lèi) 例 程 Java 基 礎(chǔ) 培 訓(xùn) public class CharacterDemo public static void main(String args) Character a = new Character(a); Character a2 = new Character(a); Character b = new Character(b); int difference = pareTo(b); if (difference = 0) System.out.println(a is equal to b.); else if (difference 0) System.out.

57、println(a is greater than b.); System.out.println(a is + (a.equals(a2) ? equal : not equal)+ to a2.); System.out.println(The character + a.toString() + is + (Character.isUpperCase(a.charValue() ? upper : lower)+ case.); 程 序 的 輸 出 :a is less than b.a is equal to a2.The character a is lowercase. 字 符 類(lèi)

58、 類(lèi) 方 法 Java 基 礎(chǔ) 培 訓(xùn) 問(wèn) 題 Java 基 礎(chǔ) 培 訓(xùn) Character a = new Character(a);Character b = new Character(a); 下 列 boolean表 達(dá) 式 的 值 是 true還 是 false?( 1) pareTo(b)=0( 2) a.equals(b)( 3) a=b 字 符 串 和 字 符 串 緩 沖 區(qū)Java平 臺(tái) 提 供 兩 個(gè) 類(lèi) String和 StringBuffer, 它們 用 于 存 儲(chǔ) 和 操 作 字 符 串 由 多 個(gè) 字 符 組 成 的 字符 數(shù) 據(jù) 。String類(lèi) 用 于 其 值

59、不 能 改 變 的 字 符 串 ;StringBuffer類(lèi) 用 于 被 修 改 的 字 符 串 , 通 常 用 來(lái)動(dòng) 態(tài) 的 構(gòu) 造 字 符 數(shù) 據(jù) 。字 符 串 是 常 量 , 比 字 符 串 緩 沖 區(qū) 更 高 效 , 而 且 字符 串 可 以 被 共 享 。 Java 基 礎(chǔ) 培 訓(xùn) 字 符 串 ( String)使 用 字 符 串 常 量 時(shí) , 需 要 創(chuàng) 建 String對(duì) 象 , 和 其它 對(duì) 象 不 同 , String對(duì) 象 可 以 通 過(guò) 簡(jiǎn) 單 賦 值 語(yǔ) 句創(chuàng) 建 : String name = “ Petter” ;此 外 , 也 可 根 據(jù) String類(lèi) 的 構(gòu)

60、 造 函 數(shù) 創(chuàng) 建 String對(duì) 象 : String name = new String(“ Petter” );對(duì) 于 程 序 任 何 位 置 出 現(xiàn) 的 雙 引 號(hào) 標(biāo) 記 的 字 符 串 ,系 統(tǒng) 都 會(huì) 自 動(dòng) 創(chuàng) 建 一 個(gè) String對(duì) 象 。可 通 過(guò) String對(duì) 象 的 方 法 對(duì) 字 符 串 進(jìn) 行 操 作 Java 基 礎(chǔ) 培 訓(xùn) 字 符 串 構(gòu) 造 器 Java 基 礎(chǔ) 培 訓(xùn) 字 符 串 的 不 可 變 性 ?String類(lèi) 用 于 其 值 不 能 改 變 的 字 符 串觀 察 下 列 程 序 : Java 基 礎(chǔ) 培 訓(xùn) public class Stri

61、ngTest public static void main(String args) String s=abc; s=s+“defg; System.out.println(s); 程 序 運(yùn) 行 結(jié) 果 是 abc還 是 abcdefg? 字 符 串 的 不 可 變 性 ? Java 基 礎(chǔ) 培 訓(xùn) abcs defg“defg”s+”defg”abcdefgs=s+”defg” 字 符 串 緩 沖 區(qū) ( StringBuffer)String對(duì) 象 表 示 的 是 不 可 更 改 的 字 符 串 對(duì) 象 , 如果 需 要 修 改 String對(duì) 象 所 表 示 的 內(nèi) 容 , 必 須

62、重 新創(chuàng) 建 一 個(gè) 對(duì) 象 : String str = “ Petter” ; str = str + “ 當(dāng) 修 改 操 作 頻 繁 , 或 字 符 串 的 值 很 大 時(shí) , 會(huì) 額 外分 配 大 量 內(nèi) 存因 此 , Java語(yǔ) 言 引 入 了 一 個(gè) StringBuffer類(lèi) , 用來(lái) 表 示 內(nèi) 容 可 以 擴(kuò) 充 和 修 改 字 符 串 對(duì) 象 Java 基 礎(chǔ) 培 訓(xùn) StringBuffer 構(gòu) 造 器必 須 使 用 new操 作 符 創(chuàng) 建 字 符 串 緩 沖 區(qū) Java 基 礎(chǔ) 培 訓(xùn)String s = Dot saw I was Tod;StringBuffer

63、 dest = new StringBuffer(s); 訪 問(wèn) 器 方 法用 于 獲 取 關(guān) 于 對(duì) 象 的 信 息 的 方 法 被 稱(chēng) 為 訪 問(wèn) 器 方法 。字 符 串 和 字 符 串 緩 沖 區(qū) 都 可 以 使 用 的 一 個(gè) 訪 問(wèn) 器方 法 就 是 length方 法 。length方 法 返 回 字 符 串 和 字 符 串 緩 沖 區(qū) 中 包 含 的字 符 數(shù) 。 Java 基 礎(chǔ) 培 訓(xùn)String palindrome = Dot saw I was Tod; int len = palindrome.length(); 容 量在 StringBuffer類(lèi) 中 還 有 一

64、個(gè) capacity()方 法 ,它 返 回 分 配 給 這 個(gè) 字 符 串 緩 沖 區(qū) 的 容 量 , 而 不 是使 用 量 。 使 用 量 會(huì) 改 變 , 但 是 容 量 始 終 是 不 變 的 。 Java 基 礎(chǔ) 培 訓(xùn) 通 過(guò) 索 引 得 到 字 符charAt()訪 問(wèn) 器 方 法 , 通 過(guò) 索 引 從 字 符 串 或 者 字符 串 緩 沖 區(qū) 得 到 字 符 , 索 引 值 從 零 開(kāi) 始 。 Java 基 礎(chǔ) 培 訓(xùn) String anotherPalindrome = Niagara. O roar again!; char aChar = anotherPalindrom

65、e.charAt(9); substring方 法如 果 要 從 字 符 串 或 者 字 符 串 緩 沖 區(qū) 得 到 多 個(gè) 字 符 ,可 以 使 用 substring方 法 。String substring(int) String substring(int,int) Java 基 礎(chǔ) 培 訓(xùn) String anotherPalindrome = Niagara. O roar again!; String roar = anotherPalindrome.substring(11, 15); searchstring類(lèi) 提 供 兩 個(gè) 訪 問(wèn) 器 方 法 , 返 回 特 定 的 字 符

66、或 者 子 字 符 串 在 字 符 串 中 的 位 置 。indexOf()方 法 從 字 符 串 的 開(kāi) 頭 查 找 ;lastindexOf()方 法 從 字 符 串 的 末 尾 查 找 ;stringBuffer類(lèi) 不 支 持 indexOf()和lastindexOf()方 法 。 Java 基 礎(chǔ) 培 訓(xùn) search Java 基 礎(chǔ) 培 訓(xùn) search example public class Filename private String fullPath; private char pathSeparator, extensionSeparator; public Filename(String str, char sep, char ext) fullPath = str; pathSeparator = sep; extensionSeparator = ext; public String extension() int dot = fullPath.lastIndexOf(extensionSeparator); return fullPath.substr

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!