注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)Java 2編程21天自學(xué)通(專業(yè)參考版)

Java 2編程21天自學(xué)通(專業(yè)參考版)

Java 2編程21天自學(xué)通(專業(yè)參考版)

定 價(jià):¥65.00

作 者: (美)Laura Lemay,(美)Rogers Cadenhead著;束聞,王國良,林勇民譯;束聞譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 北京科海培訓(xùn)中心圖書
標(biāo) 簽: Java

ISBN: 9787900641717 出版時(shí)間: 2002-04-01 包裝: 膠版紙
開本: 26cm+光盤1片 頁數(shù): 590 字?jǐn)?shù):  

內(nèi)容簡介

  本書按照時(shí)間安排內(nèi)容,全書共分為兩大部分。前一部分為3周共21天,主要講解Java的基本概念、圖形化編程的思想和方法、線程和動(dòng)畫、Java的聲音處理、出錯(cuò)處理、對象串行化、因特網(wǎng)通信以及JavaBeans和數(shù)據(jù)庫編程等高級(jí)主題。最后一周為附加的深入篇,主要是擴(kuò)展了前3周所學(xué)的知識(shí),介紹了有前軟件開發(fā)工具和編程環(huán)境,編寫小應(yīng)用程序和Java Servlets,使用Java Server Page以及處理XML文件等有關(guān)的技術(shù)問題。本書面向Java新手,從自學(xué)的特點(diǎn)出發(fā)每天一個(gè)主題,每個(gè)主題都有與之相關(guān)的常見問題及其解答,并附以測驗(yàn)及練習(xí)題,以21天的課程希望你自學(xué)成為Java高手。

作者簡介

  LaruaLemay是在網(wǎng)站開發(fā)方面最受歡迎的作家之一。她是最為暢銷的SamsTeachYourselfWebPublishingwithHTML一書的作者,也是SamsTeachYourselfPerlin21Days的作者。RogersCadenhead是程序開發(fā)員、作者和網(wǎng)站開發(fā)人員。他編寫過SamsTeachYourselfJavain24Hours,SamsTeachYourselfSunFoftJavaWorkshopin21Days和JavaUnleashed。

圖書目錄

第1周 Java的基本概念
第1天 21世紀(jì)的Java
1.1 探究Java 2
1.1.1 Java的過去、現(xiàn)在和未來
1.1.2 交互式Web編程
1.1.3 Java是從Oak發(fā)展而來的
1.1.4 語言版本
1.1.5 Java前景展望
1.2 為什么要選擇Java
1.2.1 Java是面向?qū)ο蟮?br />1.2.2 Java是易于學(xué)習(xí)的
1.2.3 Java是平臺(tái)無關(guān)的
1.3 深入Java編程
1.3.1 選擇一種Java開發(fā)工具
1.3.2 安裝SDK
1.4 你的第一個(gè)Java程序
1.5 小結(jié)
1.6 問與答
1.7 小測驗(yàn)
1.7.1 問題
1.7.2 答案
1.8 練習(xí)
第2天 面向?qū)ο缶幊?br />2.1 用對象來考慮問題
2.2 對象和類
2.3 屬性和行為
2.3.1 對象的類屬性
2.3.2 對象的類行為
2.3.3 創(chuàng)建類
2.3.4 運(yùn)行該程序
2.4 組織類和類行為
2.4.1 繼承
2.4.2 創(chuàng)建類層次結(jié)構(gòu)
2.4.3 在實(shí)際運(yùn)行中繼承
2.4.4 單繼承和多重繼承
2.4.5 接口
2.4.6 包
2.5 小結(jié)
2.6 問與答
2.7 小測驗(yàn)
2.7.1 問題
2.7.2 答案
2.8 練習(xí)
第3天 Java編程基礎(chǔ)
3.1 語句和表達(dá)式
3.2 變量和數(shù)據(jù)類型
3.2.1 創(chuàng)建變量
3.2.2 命名變量
3.2.3 變量類型
3.2.4 給變量賦值
3.2.5 常量
3.3 注釋
3.4 字面量
3.4.1 數(shù)字字面量
3.4.2 布爾字面量
3.4.3 字符字面量
3.4.4 字符串字面量
3.5 表達(dá)式和運(yùn)算符
3.5.1 算術(shù)運(yùn)算符
3.5.2 有關(guān)賦值的更多內(nèi)容
3.5.3 增量和減量運(yùn)算符
3.5.4 比較運(yùn)算符
3.5.5 邏輯運(yùn)算符
3.5.6 運(yùn)算符優(yōu)先級(jí)
3.6 字符串運(yùn)算
3.7 小結(jié)
3.8 問與答
3.9 小測驗(yàn)
3.9.1 問題
3.9.2 答案
3.10 練習(xí)
第4天 處理對象
4.1 創(chuàng)建新對象
4.1.1 使用new
4.1.2 new都做了些什么
4.1.3 有關(guān)內(nèi)存管理的一個(gè)注釋
4.2 訪問和設(shè)置類變量和實(shí)例變量
4.2.1 獲取值
4.2.2 改變值
4.2.3 類變量
4.3 調(diào)用方法
4.3.1 嵌套方法調(diào)用
4.3.2 類方法
4.4 對象的引用
4.5 轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換對象和原始數(shù)據(jù)類型
4.5.1 強(qiáng)制轉(zhuǎn)換原始類型
4.5.2 強(qiáng)制轉(zhuǎn)換對象
4.5.3 把原始類型轉(zhuǎn)換成對象或者把對象轉(zhuǎn)換成原始類型
4.6 比較對象值和類
4.6.1 比較對象
4.6.2 判斷對象的類
4.7 小結(jié)
4.8 問與答
4.9 小測驗(yàn)
4.9.1 問題
4.9.2 答案
4.10 練習(xí)
第5天 列表、邏輯和循環(huán)
5.1 數(shù)組
5.1.1 聲明數(shù)組變量
5.1.2 創(chuàng)建數(shù)組對象
5.1.3 訪問數(shù)組元素
5.1.4 改變數(shù)組元素
5.1.5 多維數(shù)組
5.2 塊語句
5.3 if條件語句
5.4 switch條件語句
5.5 for循環(huán)
5.6 while和do循環(huán)
5.6.1 while循環(huán)
5.6.2 do…while循環(huán)
5.7 跳出循環(huán)
5.7.1 標(biāo)號(hào)的循環(huán)
5.7.2 條件運(yùn)算符
5.8 小結(jié)
5.9 問與答
5.10 小測驗(yàn)
5.10.1 問題
5.10.2 答案
5.11 練習(xí)
第6天 創(chuàng)建類和方法
6.1 定義類
6.2 創(chuàng)建實(shí)例和類變量
6.2.1 定義實(shí)例變量
6.2.2 類變量
6.3 創(chuàng)建方法
6.3.1 定義方法
6.3.2 關(guān)鍵字this
6.3.3 變量作用域和方法定義
6.3.4 將參數(shù)傳遞給方法
6.3.5 類方法
6.4 創(chuàng)建Java應(yīng)用程序
6.5 Java應(yīng)用程序與命令行參數(shù)
6.5.1 將參數(shù)傳遞給Java應(yīng)用程序
6.5.2 處理Java程序中的參數(shù)
6.6 創(chuàng)建具有相同的名字、不同的參數(shù)的方法
6.7 構(gòu)造函數(shù)方法
6.7.1 基本的構(gòu)造函數(shù)方法
6.7.2 調(diào)用另一個(gè)構(gòu)造函數(shù)方法
6.7.3 重載構(gòu)造函數(shù)方法
6.8 重寫方法
6.8.1 創(chuàng)建方法來重寫現(xiàn)有的方法
6.8.2 調(diào)用最初的方法
6.8.3 重寫構(gòu)造函數(shù)
6.9 結(jié)束方法
6.10 小結(jié)
6.11 問與答
6.12 小測驗(yàn)
6.12.1 問題
6.12.2 答案
6.13 練習(xí)
第7天 編寫Java小應(yīng)用程序
7.1 小應(yīng)用程序和應(yīng)用程序有何不同
7.2 小應(yīng)用程序的安全限制
7.3 創(chuàng)建小應(yīng)用程序
7.3.1 主要的小應(yīng)用程序行為
7.3.2 一個(gè)小應(yīng)用程序的例子
7.4 在一個(gè)Web頁上包含一個(gè)小應(yīng)用程序
7.4.1 <APPLET>標(biāo)記
7.4.2 測試結(jié)果
7.4.3 把小應(yīng)用程序放到Web頁上
7.5 關(guān)于<APPLET>標(biāo)記的進(jìn)一步討論
7.5.1 ALIGN
7.5.2 HSPACE和VSPACE
7.5.3 CODE和CODEBASE
7.5.4 <OBJECT>標(biāo)記
7.6 Java的存檔文件
7.7 將參數(shù)傳遞給小應(yīng)用程序
7.8 開發(fā)Java 2小應(yīng)用程序
7.8.1 在Web頁中使用插件
7.8.2 運(yùn)行插件
7.9 小結(jié)
7.10 問與答
7.11 小測驗(yàn)
7.11.1 問題
7.11.2 答案
7.12 練習(xí)
第2周 Swing和其他可視化Java編程
第8天 使用Swing
8.1 創(chuàng)建一個(gè)應(yīng)用程序
8.1.1 創(chuàng)建一個(gè)界面
8.1.2 開發(fā)一個(gè)框架
8.1.3 關(guān)閉窗口
8.1.4 創(chuàng)建組件
8.1.5 將組件添加到容器中
8.1.6 將組件添加到小應(yīng)用程序中
8.2 使用組件
8.2.1 圖標(biāo)
8.2.2 標(biāo)簽
8.2.3 文本字段
8.2.4 文本域
8.2.5 滾動(dòng)窗格
8.2.6 滾動(dòng)條
8.2.7 復(fù)選框和單選按鈕
8.2.8 下拉列表和組合框
8.3 小結(jié)
8.4 問與答
8.5 小測驗(yàn)
8.5.1 問題
8.5.2 答案
8.6 練習(xí)
第9天 創(chuàng)建一個(gè)Swing界面
9.1 Swing的特性
9.1.1 設(shè)置外觀
9.1.2 標(biāo)準(zhǔn)對話框
9.1.3 一個(gè)例子:應(yīng)用程序Info
9.1.4 滑塊
9.1.5 滾動(dòng)窗格
9.1.6 工具欄
9.1.7 進(jìn)度條
9.2 小結(jié)
9.3 問與答
9.4 小測驗(yàn)
9.4.1 問題
9.4.2 答案
9.5 練習(xí)
第10天 在用戶界面上安放組件
10.1 基本的界面布局
10.1.1 擺放一個(gè)界面
10.1.2 流動(dòng)布局
10.1.3 網(wǎng)格布局
10.1.4 邊框布局
10.2 混合布局管理器
10.3 卡片布局
10.4 網(wǎng)格包布局
10.4.1 設(shè)計(jì)網(wǎng)格
10.4.2 創(chuàng)建網(wǎng)格
10.4.3 決定比例的大小
10.4.4 添加并安放組件
10.4.5 調(diào)整
10.5 單元padding和insets
10.6 小結(jié)
10.7 問與答
10.8 小測驗(yàn)
10.8.1 問題
10.8.2 答案
10.9 練習(xí)
第11天 響應(yīng)用戶輸入
11.1 事件監(jiān)聽器
11.1.1 設(shè)置組件
11.1.2 事件處理方法
11.2 使用方法
11.2.1 動(dòng)作事件
11.2.2 調(diào)整事件
11.2.3 焦點(diǎn)事件
11.2.4 項(xiàng)目事件
11.2.5 鍵盤事件
11.2.6 鼠標(biāo)事件
11.2.7 鼠標(biāo)運(yùn)動(dòng)事件
11.2.8 窗口事件
11.2.9 一個(gè)例子:一個(gè)RGB到HSB的轉(zhuǎn)換器
11.2.10 布局的設(shè)計(jì)
11.2.11 定義子面板
11.2.12 sRGB和HSB之間的轉(zhuǎn)換
11.2.13 處理用戶事件
11.3 小結(jié)
11.4 問與答
11.5 小測驗(yàn)
11.5.1 問題
11.5.2 答案
11.6 練習(xí)
第12天 顏色、字體和圖形
12.1 Graphics類
12.2 創(chuàng)建一個(gè)畫圖表面
12.2.1 強(qiáng)制轉(zhuǎn)換一個(gè)Graphics2D對象
12.2.2 創(chuàng)建一個(gè)應(yīng)用程序
12.2.3 圖形坐標(biāo)系統(tǒng)
12.3 繪圖和填充
12.3.1 直線
12.3.2 矩形
12.3.3 多邊形
12.3.4 橢圓形
12.3.5 弧
12.3.6 復(fù)制和清除
12.4 文本和字體
12.4.1 創(chuàng)建Font對象
12.4.2 繪制字符和字符串
12.4.3 找出關(guān)于某個(gè)字體的信息
12.5 顏色
12.5.1 使用Color對象
12.5.2 測試和設(shè)置當(dāng)前顏色
12.6 使用Java2D的高級(jí)圖形操作
12.6.1 用戶和設(shè)備坐標(biāo)空間
12.6.2 指定著色屬性
12.6.3 創(chuàng)建要繪制的對象
12.6.4 繪制對象
12.7 小結(jié)
12.8 問與答
12.9 小測驗(yàn)
12.9.1 問題
12.9.2 答案
12.10 練習(xí)
第13天 線程和動(dòng)畫
13.1 在Java中創(chuàng)建動(dòng)畫
13.1.1 畫圖和重畫
13.1.2 使一個(gè)組件動(dòng)起來
13.1.3 通過線程控制動(dòng)畫
13.1.4 編寫一個(gè)線程化的程序
13.1.5 一個(gè)線程化的時(shí)鐘應(yīng)用程序
13.1.6 終止一個(gè)線程
13.2 獲取和使用圖像
13.2.1 獲取圖像
13.2.2 繪制圖像
13.2.3 有關(guān)圖像探測器的一點(diǎn)說明
13.3 使用圖像創(chuàng)建動(dòng)畫
13.3.1 Pixel Pete的散步
13.3.2 記錄圖像的加載
13.4 小結(jié)
13.5 問與答
13.6 小測驗(yàn)
13.6.1 問題
13.6.2 答案
13.7 練習(xí)
第14天 Java的聲音功能
14.1 獲取并使用聲音
14.2 JavaSound
14.2.1 MIDI文件
14.2.2 播放一個(gè)MIDI文件
14.2.3 管理聲音文件
14.3 小結(jié)
14.4 問與答
14.5 小測驗(yàn)
14.5.1 問題
14.5.2 答案
14.6 練習(xí)
第3周 Java的高級(jí)特性
第15天 包、接口和其他類特性
15.1 限定符
15.2 靜態(tài)變量和方法
15.3 Final類、方法和變量
15.3.1 變量
15.3.2 方法
15.3.3 類
15.4 抽象類和方法
15.5 包
15.6 使用包
15.6.1 完整的包和類名
15.6.2 import聲明
15.6.3 命名沖突
15.6.4 有關(guān)CLASSPATH和類的位置的一點(diǎn)說明
15.7 創(chuàng)建你自己的包
15.7.1 選擇一個(gè)包名
15.7.2 創(chuàng)建文件夾結(jié)構(gòu)
15.7.3 將某個(gè)類加入到包中
15.7.4 包和類訪問控制
15.8 接口
15.8.1 單一繼承的問題
15.8.2 接口和類
15.8.3 實(shí)現(xiàn)和使用接口
15.8.4 實(shí)現(xiàn)多個(gè)接口
15.8.5 接口的其他使用情況
15.9 創(chuàng)建和擴(kuò)展接口
15.9.1 新的接口
15.9.2 在接口內(nèi)的方法
15.9.3 擴(kuò)展接口
15.9.4 創(chuàng)建一個(gè)網(wǎng)上商店
15.10 內(nèi)部類
15.11 小結(jié)
15.12 問與答
15.13 小測驗(yàn)
15.13.1 問題
15.13.2 答案
15.14 練習(xí)
第16天 錯(cuò)誤處理和安全性
16.1 異常,這種過時(shí)而又含混的方式
16.2 Java異常
16.3 管理異常
16.3.1 異常一致性檢測
16.3.2 保護(hù)代碼和捕獲異常
16.3.3 finally子句
16.4 聲明可能會(huì)拋出異常的方法
16.4.1 throws子句
16.4.2 你應(yīng)該拋出哪個(gè)異常
16.4.3 傳遞異常
16.4.4 throws和繼承
16.5 創(chuàng)建并拋出你自己的異常
16.5.1 拋出異常
16.5.2 創(chuàng)建你自己的異常
16.5.3 組合使用throws,try和throw
16.6 何時(shí)使用或不使用異常
16.6.1 什么時(shí)候使用異常
16.6.2 什么時(shí)候不要使用異常
16.6.3 使用異常的不好的格式
16.7 使用數(shù)字簽名來標(biāo)識(shí)小應(yīng)用程序
16.7.1 一個(gè)數(shù)字簽名的例子
16.7.2 特定瀏覽器的簽名
16.7.3 安全策略
16.8 小結(jié)
16.9 問與答
16.10 小測驗(yàn)
16.10.1 問題
16.10.2 答案
16.11 練習(xí)
第17天 通過Java流處理數(shù)據(jù)
17.1 對流的介紹
17.1.1 使用流
17.1.2 過濾流
17.2 字節(jié)流
17.3 過濾一個(gè)流
17.4 字符流
17.4.1 讀取文本文件
17.4.2 寫入文本文件
17.5 文件和文件名過濾器
17.6 小結(jié)
17.7 問與答
17.8 小測驗(yàn)
17.8.1 問題
17.8.2 答案
17.9 練習(xí)
第18天 對象串行化和映像
18.1 對象串行化
18.1.1 對象輸出流
18.1.2 對象輸入流
18.1.3 臨時(shí)變量
18.2 用映像來檢查類和方法
18.2.1 檢查和創(chuàng)建類
18.2.2 處理類的每一個(gè)部分
18.2.3 檢查某個(gè)類
18.3 遠(yuǎn)程方法調(diào)用
18.3.1 RMI體系結(jié)構(gòu)
18.3.2 創(chuàng)建RMI應(yīng)用程序
18.4 小結(jié)
18.5 問與答
18.6 小測驗(yàn)
18.6.1 問題
18.6.2 答案
18.7 練習(xí)
第19天 通過因特網(wǎng)進(jìn)行通信
19.1 Java中的連網(wǎng)技術(shù)
19.1.1 在小應(yīng)用程序內(nèi)創(chuàng)建鏈接
19.1.2 打開網(wǎng)絡(luò)連接
19.1.3 在網(wǎng)上打開一個(gè)流
19.1.4 套接字
19.1.5 Socket服務(wù)器
19.1.6 實(shí)現(xiàn)服務(wù)器程序
19.1.7 測試這個(gè)服務(wù)器
19.2 小結(jié)
19.3 問與答
19.4 小測驗(yàn)
19.4.1 問題
19.4.2 答案
19.5 練習(xí)
第20天 使用JavaBeans
20.1 可復(fù)用的軟件組件
20.1.1 JavaBeans的目標(biāo)
20.1.2 JavaBeans如何與Java聯(lián)系起來
20.1.3 JavaBeans的API
20.2 開發(fā)工具
20.3 使用JavaBeans
20.3.1 Bean容器
20.3.2 放置bean
20.3.3 調(diào)整Bean的屬性
20.3.4 創(chuàng)建Beans之間的交互操作
20.3.5 創(chuàng)建JavaBeans程序
20.3.6 使用其他的JavaBeans
20.4 小結(jié)
20.5 問與答
20.6 小測驗(yàn)
20.6.1 問題
20.6.2 答案
20.7 練習(xí)
第21天 Java數(shù)據(jù)庫互連和數(shù)據(jù)結(jié)構(gòu)
21.1 Java數(shù)據(jù)庫連通性
21.1.1 數(shù)據(jù)庫驅(qū)動(dòng)程序
21.1.2 JDBC-ODBC橋
21.1.3 連接一個(gè)ODBC數(shù)據(jù)源
21.1.4 JDBC驅(qū)動(dòng)程序
21.2 數(shù)據(jù)結(jié)構(gòu)
21.3 Java數(shù)據(jù)結(jié)構(gòu)
21.3.1 Iterator
21.3.2 位組
21.3.3 Vector
21.3.4 堆棧
21.3.5 映射
21.3.6 哈希表
21.4 小結(jié)
21.5 問與答
21.6 小測驗(yàn)
21.6.1 問題
21.6.2 答案
21.7 練習(xí)
獎(jiǎng)勵(lì)周 擴(kuò)展你的Java知識(shí)
第22天 Software Development Kit(SDK)
22.3 編譯器javac
22.4 瀏覽器appletviewer
22.5 文檔工具javadoc
22.6 調(diào)試程序jdb
22.6.1 調(diào)試應(yīng)用程序
22.6.2 調(diào)試小應(yīng)用程序
22.6.3 高級(jí)的調(diào)試命令
22.7 使用系統(tǒng)屬性
22.8 小結(jié)
22.9 問與答
22.10 小測驗(yàn)
22.10.1 問題
22.10.2 答案
22.11 練習(xí)
第23天 Java編程環(huán)境
23.1 Java IDE
23.2 評(píng)估一個(gè)IDE
23.2.1 Borland JBuilder
23.2.2 WebGain VisualCafe
23.3 小結(jié)
23.4 問與答
23.5 小測驗(yàn)
23.5.1 問題
23.5.2 答案
23.6 練習(xí)
第24天 編寫Java1.0小應(yīng)用程序
24.1 Java1.0編程
24.1.1 創(chuàng)建一個(gè)小應(yīng)用程序
24.1.2 在一個(gè)小應(yīng)用程序中畫圖
24.1.3 創(chuàng)建一個(gè)圖形化的用戶界面
24.1.4 處理用戶事件
24.2 小結(jié)
24.3 問與答
24.4 小測驗(yàn)
24.4.1 問題
24.4.2 答案
24.5 練習(xí)
22.1 SDK概覽
22.2 解釋器java
第25天 類Accessibility
25.1 使程序更易訪問
25.1.1 類Accessibility
25.1.2 訪問一個(gè)Swing組件
25.2 使用Accessibility特性
25.2.1 鍵盤記號(hào)
25.2.2 ToolTips
25.2.3 將標(biāo)簽與組件聯(lián)系起來
25.3 一個(gè)易于訪問的應(yīng)用程序:PageData
25.4 小結(jié)
25.5 問與答
25.6 小測驗(yàn)
25.6.1 問題
25.6.2 答案
25.7 練習(xí)
第26天 編寫Java Servlets
26.1 使用網(wǎng)絡(luò)servlets
26.2 開發(fā)servlets
26.3 小結(jié)
26.4 問與答
26.5 小測驗(yàn)
26.5.1 問題
26.5.2 答案
26.6 練習(xí)
第27天 使用JavaServer Pages
27.1 JavaServerPages
27.1.1 編寫一個(gè)JavaServer Page
27.1.2 創(chuàng)建一個(gè)Web應(yīng)用程序
27.2 小結(jié)
27.3 問與答
27.4 小測驗(yàn)
27.4.1 問題
27.4.2 答案
27.5 練習(xí)
第28天 讀取XML文件
28.1 使用XML
28.2 用Java處理XML
28.3 小結(jié)
28.4 問與答
28.5 小測驗(yàn)
28.5.1 問題
28.5.2 答案
28.6 練習(xí)
附錄A 配置SDK
A.1 使用一個(gè)命令行界面
A.1.1 在MS-DOS中打開文件夾
A.1.2 在MS-DOS中創(chuàng)建文件夾
A.1.3 在MS-DOS中運(yùn)行程序
A.2 配置SDK
A.2.1 在Windows 95、98和Me中設(shè)置Path變量
A.2.2 在WindowsNT和2000中設(shè)置Path變量
A.2.3 設(shè)置CLASSPATH變量
A.3 UNIX配置
附錄B 結(jié)合SDK使用文本編輯器
B.1 選擇一個(gè)文本編輯器
B.2 在Windows中創(chuàng)建一個(gè)文件關(guān)聯(lián)
B.2.1 使用批處理文件
B.2.2 手動(dòng)創(chuàng)建一個(gè)關(guān)聯(lián)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)