熟練掌握Java語言是Java應(yīng)用開發(fā)的第一個臺階,能夠深入理解Java程序設(shè)計,是學(xué)習(xí)Java系列技術(shù)的必要前提。本書結(jié)合編者多年的開發(fā)和教學(xué)經(jīng)驗,從入門者的學(xué)習(xí)特點出發(fā),循序漸進地帶領(lǐng)讀者走進Java世界,使得"開頭并不難”。 全書分為7個部分,包括Java語言的類、類之間的關(guān)系、異常處理、核心API的使用、特性總結(jié)、JDK8及以后版本特性總結(jié)和編程實戰(zhàn)。其中,編程實戰(zhàn)部分提供了連連看游戲的完整實現(xiàn)過程,幫助讀者借助教材自主實現(xiàn)該案例,快速提高Java程序設(shè)計實踐能力。書中內(nèi)容打破了傳統(tǒng)的堆砌知識點的方式,從解決問題的角度詮釋面向?qū)ο蟪绦蛟O(shè)計,涵蓋了企業(yè)實際工作中常用的技能與知識點,簡單明了,易讀易懂。
孫祥,是臨沂科技職業(yè)學(xué)院計算機應(yīng)用技術(shù)專業(yè)帶頭人,具有十余年軟件開發(fā)、企業(yè)管理經(jīng)驗,曾任職技術(shù)總監(jiān)、副總經(jīng)理等管理崗位,主導(dǎo)參與過金鑼集團、碧生源集團、魯西化工集團等十余家集團企業(yè)信息化建設(shè)。長期從事軟件架構(gòu)、軟件開發(fā)、電子支付相關(guān)工作,具有豐富的實踐經(jīng)驗,發(fā)表學(xué)術(shù)論文2篇,獲得臨沂市科學(xué)技術(shù)獎叁等獎一項。
目錄
第一部分 Java語言的類
第1章 Java語言概述 002
1.1 Java語言的特點 002
1.2 面向?qū)ο蟮幕靖拍?003
1.3 第一個Java類 004
1.3.1 環(huán)境搭建 004
1.3.2 編譯運行Java類 006
1.4 本章小結(jié) 007
第2章 Java類的組成 008
2.1 類 008
2.2 屬性 009
2.3 方法 009
2.3.1 方法的聲明形式 009
2.3.2 方法重載 010
2.4 構(gòu)造方法 011
2.5 塊 014
2.6 內(nèi)部類 015
2.7 本章小結(jié) 015
第3章 訪問權(quán)限修飾符 016
3.1 包 016
3.2 4種訪問權(quán)限修飾符 017
3.3 封裝性 017
3.4 本章小結(jié) 018
第4章 數(shù)據(jù)類型 019
4.1 基本數(shù)據(jù)類型 019
4.2 引用類型 020
4.3 字符串類型 020
4.4 包裝器類型 021
4.5 值傳遞 022
4.6 本章小結(jié) 023
第5章 高級類特性 024
5.1 static修飾符 024
5.2 final修飾符 027
5.3 Java類中的變量總結(jié) 028
5.4 本章小結(jié) 029
第6章 操作符、流程控制 030
6.1 操作符 030
6.2 流程控制 034
6.2.1 流程控制概述 034
6.2.2 使用break/continue語句控制循環(huán) 037
6.2.3 “中斷”語句比較 038
6.3 本章小結(jié) 039
第7章 第一部分自我測試 040
第二部分 類之間的關(guān)系
第8章 關(guān)聯(lián)關(guān)系 044
8.1 關(guān)聯(lián)關(guān)系的表示 044
8.2 關(guān)聯(lián)關(guān)系的方向 045
8.3 關(guān)聯(lián)關(guān)系的多重性 046
8.4 數(shù)組 046
8.4.1 數(shù)組的基本概念 046
8.4.2 數(shù)組的創(chuàng)建及長度 047
8.4.3 數(shù)組元素的訪問 048
8.4.4 數(shù)組的賦值 049
8.4.5 多維數(shù)組 049
8.4.6 數(shù)組的復(fù)制 050
8.4.7 Arrays類 051
8.5 本章小結(jié) 052
第9章 依賴關(guān)系 053
9.1 Java語言中依賴關(guān)系的表示 053
9.2 依賴與關(guān)聯(lián)的區(qū)別 053
9.3 本章小結(jié) 054
第10章 繼承關(guān)系 055
10.1 Java語言的繼承 055
10.2 繼承中構(gòu)造方法的調(diào)用 056
10.3 方法覆蓋 059
10.4 抽象類 061
10.5 抽象方法 062
10.6 多態(tài)性 063
10.7 this和super關(guān)鍵字 065
10.8 final在繼承中的使用 066
10.9 static、abstract、final修飾符總結(jié) 067
10.10 關(guān)聯(lián)和繼承 067
10.11 Object類 068
10.12 本章小結(jié) 071
第11章 實現(xiàn)關(guān)系 072
11.1 接口的定義 072
11.2 類與接口之間的關(guān)系:實現(xiàn) 072
11.3 接口的作用 074
11.4 接口的語法細節(jié) 075
11.5 Comparable接口 076
11.6 本章小結(jié) 079
第12章 第二部分自我測試 080
第三部分 異 常 處 理
第13章 Java應(yīng)用異常處理 085
13.1 異常概述 085
13.2 Java標準異常類型 086
13.3 處理異常 087
13.4 拋出異常 092
13.5 為何要拋出異常 092
13.6 如何處理拋出的異常 093
13.7 自定義異常類 095
13.8 throw與throws總結(jié) 096
13.9 try-finally的作用 097
13.10 再次拋出異常 098
13.11 本章小結(jié) 098
第14章 第三部分自我測試 099
第四部分 核心API的使用
第15章 集合框架 104
15.1 泛型快速入門 104
15.2 Java集合框架概述 106
15.3 Iterator接口 106
15.4 Collection接口及其子接口 107
15.5 List接口的實現(xiàn)類 108
15.6 Set接口的實現(xiàn)類 109
15.7 Map接口的實現(xiàn)類 113
15.8 Collections類 116
15.9 集合與數(shù)組之間的轉(zhuǎn)換 116
15.10 本章小結(jié) 118
第16章 輸入/輸出系統(tǒng) 119
16.1 File類 119
16.2 文件過濾器 120
16.3 I/O流的分類 122
16.4 I/O編程 123
16.5 本章小結(jié) 126
第17章 GUI編程 127
17.1 GUI編程概述 127
17.2 Swing中的組件 128
17.3 Swing中的布局 129
17.4 Swing中的事件處理 131
17.5 使用內(nèi)部類進行事件處理 132
17.6 使用匿名內(nèi)部類進行事件處理 133
17.7 GUI中的并發(fā)任務(wù) 134
17.8 本章小結(jié) 135
第18章 多線程編程 136
18.1 與線程有關(guān)的API 136
18.2 創(chuàng)建線程 137
18.3 線程同步 140
18.4 線程通信 142
18.5 Thread類的方法 145
18.6 線程死鎖 146
18.7 守護線程 148
18.8 本章小結(jié) 148
第19章 Java網(wǎng)絡(luò)編程 149
19.1 TCP/IP概述 149
19.2 使用Socket進行基于TCP的 編程 150
19.3 使用Datagram進行基于UDP的 編程 154
19.4 本章小結(jié) 155
第20章 其他常用API 157
20.1 日期 157
20.2 國際化 160
20.3 格式化 163
20.4 大數(shù)據(jù)類型 165
20.5 反射 166
20.6 本章小結(jié) 168
第21章 第四部分自我測試 169
第五部分 特 性 總 結(jié)
第22章 泛型 174
22.1 泛型概述 174
22.2 定義簡單泛型類 175
22.3 泛型與繼承 175
22.4 通配符 176
22.5 泛型方法 177
22.6 本章小結(jié) 177
第23章 枚舉 178
23.1 枚舉概述 178
23.2 創(chuàng)建枚舉 180
23.3 Enum類 180
23.4 遍歷Enum的值 181
23.5 Enum的細節(jié)問題 181
23.6 本章小結(jié) 182
第24章 其他特性 183
24.1 增強for循環(huán) 183
24.2 自動裝箱、自動拆箱 184
24.3 靜態(tài)導(dǎo)入 185
24.4 可變參數(shù) 185
24.5 Annotation 186
24.6 本章小結(jié) 187
第25章 第五部分自我測試 188
第六部分 JDK8及以后版本特性總結(jié)
第26章 Lambda表達式 192
26.1 Lambda表達式的基本語法 192
26.2 函數(shù)式接口 193
26.3 變量作用域 194
26.4 方法引用 195
26.5 本章小結(jié) 197
第27章 Stream 198
27.1 Stream概述 198
27.2 創(chuàng)建Stream 199
27.3 Stream的中間操作 200
27.4 Stream的終端操作 201
27.5 串行流與并行流 203
27.6 本章小結(jié) 203
第28章 Optional類 204
28.1 Optional類入門 204
28.2 Optional類中的方法 205
28.3 創(chuàng)建Optional對象 206
28.4 獲取Optional中的值 206
28.5 本章小結(jié) 207
第29章 日期和時間API 208
29.1 更新的日期和時間API概述 208
29.2 本地化日期和時間API 210
29.3 使用時區(qū)的日期和時間API 215
29.4 操縱、解析和格式化日期 217
29.5 本章小結(jié) 222
第30章 第六部分自我測試 223
第七部分 編 程 實 戰(zhàn)
第31章 連連看游戲?qū)崿F(xiàn) 227
31.1 搭建工程基本結(jié)構(gòu) 227
31.2 實現(xiàn)靜態(tài)界面 229
31.2.1 搭建只顯示菜單的 界面 230
31.2.2 實現(xiàn)展現(xiàn)游戲場景和
時間條的面板 232
31.2.3 將面板添加到游戲框架 235
31.3 隨機生成游戲場景 236
31.3.1 創(chuàng)建抽象類 AbstractGameModel 236
31.3.2 創(chuàng)建實現(xiàn)類 GameModelDefault 239
31.3.3 隨機產(chǎn)生游戲場景 240
31.4 實現(xiàn)直連消除版本 241
31.4.1 修改AbstractGameModel類 241
31.4.2 修改GameModelDefault類 243
31.4.3 修改MainPanel類 244
31.4.4 啟動MainPanel類創(chuàng)建的 線程對象 248
31.5 實現(xiàn)一折相連消除版本 249
31.5.1 創(chuàng)建Node類封裝折點 信息 249
31.5.2 修改AbstractGameModel類 251
31.5.3 創(chuàng)建子類 GameModelOneTurn 252
31.5.4 修改MainPanel類 252
31.6 實現(xiàn)兩折相連消除版本 253
31.6.1 在AbstractGameModel類中添加新算法 254
31.6.2 創(chuàng)建新的模型子類 GameModelTwoTurn 255
31.6.3 修改MainPanel類 255
31.7 添加限時功能 256
31.8 添加重新開始游戲功能 258
31.9 添加可選擇關(guān)卡功能 258
31.9.1 在AbstractGameModel類中實現(xiàn)算法 259
31.9.2 修改MainPanel類 259
31.9.3 修改MainFrame類 260
31.10 添加可選擇模型功能 261
31.11 添加可選擇圖標功能 261
31.12 本章小結(jié) 262
附錄A 企業(yè)關(guān)注的技能 263
A.1 Java語言的類 263
A.2 類之間的關(guān)系 268
A.3 異常處理 272
A.4 核心API的使用 273
A.5 特性總結(jié) 278