商品簡介
目次
商品簡介
本書系統介紹了Java面向對象編程的概念和方法,詳細講解了Java SE平臺的常用API。主要內容包括:Java的發展歷史、Java面向對象程序設計基儲Java編程基本語法、數組、異常處理、集合類、流、字符串、封裝類、Swing、網絡編程、多線程、對象系列化、國際化和本地化等。為了方便初學者能看懂常用的UML圖,在最后一章還重點介紹了UML的用例圖、類圖和對象圖以及包圖等內容。最后,以附錄的方式討論了Java編程中的一些比較高級的話題,例如類型識別、反射機制、類加載、字節碼驗證機制和安全機制等,讓讀者對Java的底層機制和基本原理有較深入的了解,有助于對Java的學習。本書用淺顯易懂的例子來介紹各種枯燥的原理,用平實的語言來講解嚴謹的理論。本書可以作為Java初學者的讀本、培訓機構和大學計算機相關專業的教材。
目次
目錄 第1章Java編程概述1 1.1Java發展簡史2 1.2Java技術體系架構3 1.3計算機語言的運行機制4 1.3.1編譯型4 1.3.2解釋型4 1.4JVM(Java Virtual Machine)4 1.5JRE和JDK5 1.5.1JRE的基本概念5 1.5.2JDK的基本概念5 1.5.3Java開發環境架設6 1.6垃圾回收(GC)7 1.7開發Java應用程序8 1.7.1開發Java應用程序的基本步驟8 1.7.2開發Java應用程序要點9 1.7.3新手常見錯誤10 小結11 課後練習題11 第2章面向對象程序設計初步13 2.1程序設計歷程14 2.2面向對象程序設計15 2.2.1對象15 2.2.2類15 2.2.3類的聲明16 2.2.4屬性的聲明17 2.2.5方法的聲明18 2.2.6構造器(構造方法)18 2.2.7對象的創建和使用20 2.3信息的封裝和隱藏24 2.3.1信息的隱藏24 2.3.2信息的封裝24 2.4Java源文件結構25 2.4.1package語句25 2.4.2import語句27 2.5JDK中常用的包28 2.6面向對象編程術語29 小結29 課後練習題30 第3章標識符、關鍵字、數據類型31 3.1Java注釋32 3.1.1Java程序中的單行注釋和多行注釋32 3.1.2利用javadoc來產生API文檔32 3.2分隔符37 3.2.1分號37 3.2.2塊37 3.2.3空格38 3.2.4圓點“.39 3.3標識符39 3.4Java關鍵字/保留字40 3.5數據類型40 3.5.1簡單類型41 3.5.2引用類型45 3.6變量和它的作用范圍48 3.6.1局部變量48 3.6.2成員變量49 3.7變量初始化50 3.7.1成員變量的初始化50 3.7.2局部變量的初始化52 3.8值傳遞52 3.9Java語言編碼慣例54 3.9.1命名慣例55 3.9.2縮進56 3.9.3頁寬56 3.9.4{} 對56 3.9.5括號57 小結57 課後練習題57 第4章運算符、表達式、流程控制59 4.1運算符60 4.1.1算術運算符60 4.1.2遞增、遞減運算符61 4.1.3關係和布爾運算符61 4.1.4三元運算符63 4.1.5位運算符64 4.1.6移位運算符64 4.1.7賦值運算符65 4.1.8字符串連接運算符69 4.1.9運算符的優先順序70 4.2表達式70 4.2.1表達式中運算符的結合性70 4.2.2表達式中運算符的優先順序71 4.3分支語句71 4.3.1Java分支語句分類71 4.3.2if72 4.3.3switch73 4.4循環語句74 4.4.1for75 4.4.2while76 4.4.3do...while77 4.4.4break/continue語句79 小結83 課後練習題83 第5章數組85 5.1數組基本概念86 5.2一維數組86 5.2.1數組定義86 5.2.2創建數組86 5.2.3數組初始化87 5.2.4簡單數據類型數組90 5.2.5引用數據類型數組90 5.2.6引用數組元素91 5.2.7數組備份94 5.3多維數組96 5.3.1多維數組的定義96 5.3.2多維數組的創建96 5.3.3多維數組的初始化96 5.4數據結構97 5.4.1數據結構基?97 5.4.2堆棧(Stack)97 5.4.3隊列(Queue)99 5.4.4排序算法101 小結106 課後練習題106 第6章面向對象編程進階109 6.1類的繼承110 6.2訪問控制113 6.3方法的覆蓋114 6.4super關鍵字117 6.4.1調用父類構造器117 6.4.2調用父類方法、屬性119 6.5方法重載120 6.6構造器重載121 6.7this關鍵字123 6.7.1使用this來區分當前對象123 6.7.2在構造器中使用this來調用對象本身的其他構造器124 6.8對象的構造和初始化126 6.9封裝類131 6.9.1封裝類131 6.9.2在Java中實現小數的精確計算132 6.9.3自動裝箱和拆箱133 6.10對象的toString()方法135 6.11==和equals()137 6.11.1==和equals()的用法137 6.11.2覆蓋equals()方法139 6.12可變參數141 小結142 課後練習題142 第7章高級類特性145 7.1static關鍵字146 7.1.1static概述146 7.1.2static自由塊147 7.1.3Singleton設計模式148 7.1.4static import150 7.2final關鍵字151 7.2.1final類151 7.2.2final變量151 7.2.3final方法153 7.3抽象類153 7.3.1abstract概述153 7.3.2abstract class154 7.3.3模板設計模式157 7.4接口158 7.4.1接口的定義159 7.4.2接口的繼承160 7.4.3使用接口161 7.5多態162 7.5.1多態概述162 7.5.2虛方法調用(Virtual Method Invocation)163 7.5.3instanceof運算符164 7.5.4對象造型164 7.6內部類165 7.6.1內部類定義166 7.6.2局部內部類168 7.6.3匿名內部類169 7.6.4內部類特性169 7.7可變參數170 7.8修飾符的適用范圍170 小結171 課後練習題171 第8章異常處理173 8.1異常概述174 8.2Java中的異常174 8.2.1Error/Exception層次關係174 8.2.2幾個異常示例175 8.3處理Exception177 8.3.1常見異常177 8.3.2Java中的異常處理機制178 8.3.3通過try-catch-finally來處理異常178 8.3.4將異常拋出182 8.3.5捕獲異常和拋出異常結合使用185 8.3.6進行方法覆蓋時對異常的處理185 8.3.7自定義異常186 8.3.8通過printStackTrace()追蹤異常源頭188 小結189 課後練習題189 第9章編寫Java應用程序191 9.1命令行參數192 9.2系統屬性193 9.2.1常用系統屬性193 9.2.2Properties類194 9.2.3System類中和屬性相關的功能194 9.2.4從屬性文件中讀出屬性195 9.3標準I/O操作197 9.4Math類199 9.4.1提供數據截斷(truncation)操作功能199 9.4.2取最大、最小及絕對值功能200 9.4.3三角函數功能200 9.4.4對數及冪運算功能200 9.4.5產生隨機數功能200 9.4.6數學常量200 9.4.7Math類使用例子200 9.5字符串類201 9.5.1String201 9.5.2StringBuffer與StringBuilder205 9.5.3用于連接兩個String的“+”和StringBuffer的append()205 9.6容器類207 9.6.1Collection接口207 9.6.2List208 9.6.3Set211 9.6.4Map217 9.6.5Iterator219 9.6.6Collections類221 9.7泛型223 9.7.1為什麼需要泛型223 9.7.2使用泛型224 9.7.3自定義泛型226 9.8用foreach遍歷集合或數組229 9.9枚舉230 9.9.1定義枚舉類型230 9.9.2遍歷枚舉類型232 9.10文件操作232 9.10.1基本文件操作232 9.10.2文件過濾235 9.11正則表達式237 9.11.1模式237 9.11.2在Java中使用正則表達式239 9.12日期處理242 9.12.1Date類242 9.12.2Calendar類242 9.12.3TimeZone類245 9.13Deprecation245 小結247 課後練習題247 第10章Java流251 10.1I/O流概述252 10.2流的分類252 10.3InputStream和OutputStream253 10.3.1InputStream253 10.3.2OutputStream254 10.4FileInputStream和FileOutputStream255 10.5高級字節流258 10.5.1FilterInputStream 和FilterOutputStream258 10.5.2BufferedInputStream和BufferedOutputStream258 10.5.3DataInputStream和DataOutputStream258 10.6其他高級流259 10.7Reader和Writer259 10.7.1Reader259 10.7.2Writer261 10.8讀寫隨機訪問文件(RandomAccessFile)263 10.9重定向標準輸入輸出264 10.10Java NIO265 10.10.1Java NIO概述265 10.10.2Buffer266 10.10.3Channel271 10.10.4Charset273 10.10.5文件鎖275 小結276 課後練習題276 第11章Java GUI程序設計277 11.1概述278 11.1.1Swing和MVC模式278 11.1.2UI(User Interface)代理和PLAF280 11.1.3Swing工具集281 11.2Swing容器和組件283 11.2.1JFrame283 11.2.2JPanel285 11.3布局管理器286 11.3.1FlowLayout287 11.3.2BorderLayout288 11.3.3GridLayout290 11.3.4CardLayout291 11.4事件處理293 11.4.1事件處理基?293 11.4.2事件處理與監聽器294 11.4.3事件適配器298 11.4.4事件處理類和產生事件類的關係299 11.5Swing常用組件303 11.5.1按鈕303 11.5.2文本輸入308 11.5.3下拉列表框(javax.swing.JComboBox)311 11.5.4滾動面板JScrollPane313 11.6對話框314 11.6.1自定義對話框314 11.6.2消息框(javax.swing.JOptionPane)316 11.6.3文件對話框(javax.swing.JFileChooser)316 11.7表格317 11.8菜單320 11.9彈出式菜單322 11.10在Swing中畫圖324 11.10.1顏色326 11.10.2字體328 11.11用jar命令打包程序328 11.11.1基本參數329 11.11.2清單文件329 11.11.3獲取Jar包內的資源329 小結331 課後練習題332 第12章Java線程335 12.1線程概述336 12.2Java線程模型336 12.3創建線程337 12.3.1創建線程方式一337 12.3.2創建線程方式二338 12.3.3兩種創建線程方式的比較339 12.3.4后臺線程(守護線程)339 12.4線程狀態340 12.4.1線程基本狀態340 12.4.2線程的結束方式342 12.5線程控制343 12.5.1測試線程343 12.5.2中斷線程343 12.5.3設置線程的優先級343 12.6線程的join()方法346 12.7多線程編程349 12.7.1多線程概述349 12.7.2多線程共享數據351 12.7.3線程之間的通信358 12.7.4避免無謂的同步362 12.8定時器364 12.9多線程編程一般規則365 12.10java.util.concurrent中的同步API365 12.10.1線程池366 12.10.2鎖370 12.10.3Condition380 小結383 課後練習題383 第13章網絡編程385 13.1網絡基?386 13.1.1網絡類型386 13.1.2網絡工作模式386 13.2Internet的形成和發展387 13.3網絡通信結構387 13.4網絡通信協議388 13.4.1TCP協議388 13.4.2IP協議388 13.4.3TCP/IP協議389 13.4.4IP地址390 13.4.5端口號391 13.4.6通過Java編程獲得IP地址392 13.5Socket393 13.6Java Socket編程393 13.6.1ServerSocket393 13.6.2Socket類394 13.6.3Socket通信例子394 13.7Java URL類397 13.7.1URL舉例397 13.7.2Java 中的URL類397 13.7.3URL應用例子398 小結401 課後練習題401 第14章對象序列化403 14.1概述404 14.2將對象序列化到磁盤404 14.2.1保存對象到磁盤文件404 14.2.2從磁盤文件中取出保存的對象406 14.3在網絡間傳遞對象407 14.4定制對象序列化409 14.5使用transient關鍵字保護數據413 14.6利用接口Externalizable來實現序列化416 14.7使用serialVersionUID控制版本419 14.8可序列化的內容420 小結420 課後練習題421 第15章國際化和本地化423 15.1國際化和本地化概述424 15.2確定地點424 15.3格式化輸出427 15.3.1和數字相關的格式化427 15.3.2日期和時間的格式化429 15.4資源文件433 15.4.1概述433 15.4.2使用ListResourceBundle來封裝資源434 15.4.3使用屬性文件來封裝字符串資源438 15.5消息的格式化440 15.5.1概述440 15.5.2完善輸出結果441 小結445 課後練習題445 第16章Java程序員UML基?447 16.1為什麼需要建模448 16.2UML簡介449 16.3UML圖的種類450 16.3.1用例圖(Use Case)450 16.3.2類圖(Class)451 16.3.3對象圖(Object)461 16.3.4包圖(Package)462 小結464 課後練習題464 附錄Java編程高級話題465 A.1類型識別466 A.2反射機制467 A.2.1Field類467 A.2.2Method類467 A.2.3Constructor類467 A.3類加載470 A.3.1類加載基?470 A.3.2委托類加載472 A.3.3自定義類加載機制472 A.4字節碼驗證474 A.5Java安全管理器475
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

