主要內容
全書共分16章,包括初識Java、Java語言基礎、流程控制、數組、面向對象編程基礎、異常處理、Java常用類和枚舉類型、泛型與集合類及坦克大戰遊戲等。書中所有知識都結合具體實例進行講解,設計的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會Java程式開發的精髓,快速提高開發技能。
本書通過大量實例及一個完整項目案例,可以幫助讀者更好地鞏固所學知識,提升能力;隨書附贈的《小白實戰手冊》中給出了3個流行案例的詳細開發流程,力求讓學習者能學以致用,真正獲得開發經驗;附贈的光碟中給出視頻講解、實例及項目源碼、代碼查錯器、練一練和動手糾錯答案等,方便讀者學習;書中設定了超過200多個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點只需手機掃描文字下方的e學碼獲得更多擴展解釋,隨時掃除學習障礙。此外,登錄明日學院網站還可以獲得更多學習資源和技術支持。
目錄
第1篇 基礎知識
第1章初識Java..............2
視頻講解:47分
精彩實例:1個
e學碼:69個
1.1 Java簡介.............................3
1.1.1 什麼是Java .....................3
1.1.2 Java的版本 .....................3
1.1.3 Java API文檔 ...................4
1.2 搭建Java環境.........................5
1.2.1 JDK的下載 ......................5
1.2.2 JDK的安裝 ......................7
1.2.3 配置JDK ........................8
1.2.4 測試開發環境 ...................9
1.3 第一個Java程式......................10
1.4 Eclipse開發環境.....................11
1.4.1 Eclipse簡介 ...................11
1.4.2 下載Eclipse ...................11
1.4.3 Eclipse的配置與啟動 ...........14
1.4.4 Eclipse工作檯 .................15
1.4.5 導入項目檔案 ..................15
1.5 Eclipse的使用.......................17
1.5.1 創建Java項目 ..................17
1.5.2 創建Java類檔案 ................19
1.5.3 使用編輯器編寫程式代碼 ........20
1.5.4 運行Java程式 ..................22
1.6 程式調試............................23
1.7 難點解答............................25
1.7.1 JDK常用的基本組件 .............25
1.7.2 配置環境變數後,javac運行正常,
但編譯的時候仍找不到檔案 ......25
1.8 小結................................26
1.9 動手糾錯............................26
第2章 Java語言基礎.........27
視頻講解:2小時13分
精彩實例:12個
e學碼:71個
2.1 代碼注釋............................28
2.2 變數與常量..........................29
2.2.1 標識符與關鍵字 ................29
2.2.2 變數 ..........................30
2.2.3 常量 ..........................31
2.3 基本數據類型........................31
2.3.1 整數類型 ......................32
2.3.2 浮點類型 ......................34
2.3.3 字元類型 ......................35
2.3.4 布爾類型 ......................37
2.4 數據類型轉換........................38
2.4.1 隱式轉換 ......................39
2.4.2 顯式轉換 ......................40
2.5 運算符..............................42
2.5.1 賦值運算符 ....................42
2.5.2 算術運算符 ....................43
2.5.3 自增和自減運算符 ..............44
2.5.4 關係運算符 ....................46
2.5.5 邏輯運算符 ....................47
2.5.6 位運算符 ......................49
2.5.7 複合賦值運算符 ................52
2.5.8 三元運算符 ....................53
2.5.9 圓括弧 ........................53
2.5.10 運算符優先權 .................54
2.6 難點解答............................55
2.6.1 Java中變數一定要初始化嗎? ....55
2.6.2 變數與常量的區別 ..............55
2.7 小結................................55
2.8 動手糾錯............................56
第3章 流程控制.............57
視頻講解:2小時27分
精彩實例:11個
e學碼:36個
3.1 程式結構............................58
3.2 條件語句............................58
3.2.1 if條件語句 ....................58
3.2.2 switch多分支語句 ..............63
3.3 循環語句............................67
3.3.1 while循環語句 .................67
3.3.2 do…while循環語句 .............68
3.3.3 for循環語句 ...................70
3.3.4 foreach語句 ...................72
3.3.5 循環語句的嵌套 ................73
3.4 跳轉語句............................75
3.4.1 break語句 .....................75
3.4.2 continue語句 ..................77
3.5 難點解答............................79
3.5.1 if、else、else if後的條件執行體 ..79
3.5.2 switch多分支語句後expression
表達式的數據類型 ..............79
3.6 小結................................79
3.7 動手糾錯............................79
第4章 數組.................81
視頻講解:1小時24分
精彩實例:7個
e學碼:18個
4.1 數組的概述..........................82
4.2 一維數組............................82
4.2.1 創建一維數組 ..................82
4.2.2 給一維數組賦值 ................83
4.2.3 獲取數組長度 ..................84
4.2.4 一維數組的使用場景 ............85
4.3 二維數組............................86
4.3.1 創建二維數組 ..................87
4.3.2 給二維數組賦值 ................88
4.3.3 二維數組的使用場景 ............89
4.3.4 不規則數組 ....................91
4.4 數組的基本操作......................92
4.4.1 遍歷數組 ......................92
4.4.2 填充和批量替換數組元素 ........93
4.5 難點解答............................95
4.5.1 為什麼數組的索引從0開始 .......95
4.5.2 多維數組的長度 ................95
4.6 小結................................95
4.7 動手糾錯............................95
第5章 字元串...............97
視頻講解:2小時43分
精彩實例:20個
e學碼:19個
5.1 String類............................98
5.1.1 聲明字元串 ....................98
5.1.2 創建字元串 ....................98
5.2 字元串的連線.......................100
5.2.1 連線字元串 ...................100
5.2.2 連線其他數據類型 .............102
5.3 提取字元串信息.....................104
5.3.1 獲取字元串長度 ...............104
5.3.2 獲取指定位置的字元 ...........105
5.3.3 獲取子字元串索引位置 .........106
5.3.4 判斷字元串首尾內容 ...........107
5.3.5 獲取字元數組 .................109
5.3.6 判斷子字元串是否存在 .........111
5.4 字元串的操作.......................112
5.4.1 截取字元串 ...................112
5.4.2 字元串替換 ...................113
5.4.3 字元串分割 ...................114
5.4.4 大小寫轉換 ...................115
5.4.5 去除空白內容 .................117
5.4.6 比較字元串是否相等 ...........118
5.5 可變字元串StringBuffer類...........119
5.6 難點解答...........................125
5.6.1 字元串與String類 .............125
5.6.2 StringBuffer與String的
不同之處 .....................125
5.7 小結...............................126
5.8 動手糾錯...........................126
第6章 面向對象編程基礎....127
視頻講解:1小時45分
精彩實例:9個
e學碼:20個
6.1 面向對象概述.......................128
6.1.1 對象 .........................128
6.1.2 類 ...........................128
6.1.3 面向對象程式設計的特點 .......129
6.2 類與對象...........................131
6.2.1 成員變數 .....................131
6.2.2 成員方法 .....................132
6.2.3 構造方法 .....................136
6.2.4 局部變數 .....................137
6.2.5 this關鍵字 ...................138
6.3 static關鍵字.......................142
6.3.1 靜態變數 .....................142
6.3.2 靜態方法 .....................144
6.3.3 靜態代碼塊 ...................146
6.4 類的主方法.........................147
6.5 難點解答...........................149
6.5.1 把數據抽象成類 ...............149
6.5.2 局部變數和全局變數 ...........149
6.6 小結...............................149
6.7 動手糾錯...........................150
第2篇 核心技術
第7章 面向對象核心技術....152
視頻講解:3小時13分
精彩實例:18個
e學碼:22個
7.1 類的封裝...........................153
7.2 類的繼承...........................155
7.2.1 extends關鍵字 ................155
7.2.2 方法的重寫 ...................157
7.2.3 所有類的父類——Object類 .....159
7.3 類的多態...........................162
7.3.1 方法的重載 ...................162
7.3.2 向上轉型 .....................164
7.3.3 向下轉型 .....................166
7.3.4 instanceof關鍵字 .............167
7.4 抽象類與接口.......................169
7.4.1 抽象類與抽象方法 .............169
7.4.2 接口的聲明及實現 .............171
7.4.3 多重繼承 .....................174
7.4.4 區分抽象類與接口 .............175
7.5 訪問控制...........................176
7.5.1 訪問控制符 ...................176
7.5.2 Java類包 .....................177
7.5.3 final關鍵字 ..................179
7.6 內部類.............................183
7.6.1 成員內部類 ...................183
7.6.2 匿名內部類 ...................185
7.7 難點解答...........................186
7.7.1 類的三大特性 .................186
7.7.2 什麼情況下會使用匿名內部類? .186
7.8 小結...............................187
7.9 動手糾錯...........................187
第8章 異常處理............189
視頻講解:57分
精彩實例:5個
e學碼:11個
8.1 異常概述...........................190
8.2 捕捉處理異常.......................191
8.2.1 try-catch代碼塊 ..............191
8.2.2 finally代碼塊 ................194
8.3 在方法中拋出異常...................195
8.3.1 使用throws關鍵字拋出異常 .....196
8.3.2 使用throw關鍵字拋出異常 ......197
8.4 難點解答...........................199
8.4.1 throws關鍵字和throw關鍵字的區別 .........................199
8.4.2 異常的使用原則 ...............199
8.5 小結...............................200
8.6 動手糾錯...........................200
第9章 Java常用類和枚舉類型................201
視頻講解:1小時49分
精彩實例:9個
e學碼:12個
9.1 包裝類.............................202
9.1.1 Integer類 ....................202
9.1.2 Number類 .....................205
9.2 Math類.............................206
9.2.1 Math類概述 ...................206
9.2.2 常用數學運算方法 .............207
9.3 Random類...........................211
9.4 Date類.............................214
9.5 枚舉類型...........................217
9.6 難點解答...........................219
9.6.1 注意隨機數的取值範圍 .........219
9.6.2 “裝箱”與“拆箱” ...........219
9.7 小結...............................220
9.8 動手糾錯...........................220
第10章 泛型與集合類.......221
視頻講解:1小時24分
精彩實例:6個
e學碼:17個
10.1 泛型..............................222
10.1.1 定義泛型類 ..................222
10.1.2 泛型的用法 ..................223
10.2 集合類概述........................226
10.3 List集合..........................227
10.3.1 List接口 ....................227
10.3.2 List接口的實現類 ............228
10.3.3 Iterator疊代器 ..............229
10.4 Set集合...........................231
10.4.1 Set接口 .....................231
10.4.2 Set接口的實現類 .............232
10.5 Map集合...........................234
10.5.1 Map接口 .....................234
10.5.2 Map接口的實現類 .............234
10.6 難點解答..........................236
10.6.1 集合的使用場合 ..............236
10.6.2 集合的元素數量是變化的 ......236
10.7 小結..............................237
10.8 動手糾錯..........................237
第11章 Swing程式設計......239
視頻講解:4小時50分
精彩實例:19個
11.1 Swing概述.........................240
11.1.1 Swing特點 ...................240
11.1.2 Swing包 .....................240
11.1.3 常用Swing組件概述 ...........241
11.2 常用窗體..........................242
11.2.1 JFrame窗體 ..................242
11.2.2 JDialog對話框窗體 ...........244
11.3 常用布局管理器....................247
11.3.1 FlowLayout流布局管理器 ......247
11.3.2 BorderLayout邊界布局管理器 ..249
11.3.3 GridLayout格線布局管理器 ....251
11.4 常用面板..........................252
11.4.1 JPanel面板 ..................252
11.4.2 JScrollPane滾動面板 .........254
11.5 標籤組件與圖示....................256
11.5.1 JLabel標籤組件 ..............256
11.5.2 圖示的使用 ..................256
11.6 文本組件..........................258
11.6.1 JTextField文本框組件 ........258
11.6.2 JPasswordField密碼框組件 ....260
11.6.3 JTextArea文本域組件 .........261
11.7 按鈕組件..........................263
11.7.1 JButton按鈕組件 .............263
11.7.2 JRadioButton單選按鈕組件 ....265
11.7.3 JCheckBox複選框組件 .........268
11.8 列表組件..........................269
11.8.1 JComboBox下拉列表框組件 .....269
11.8.2 JList列表框組件 .............271
11.9 事件監聽器........................274
11.9.1 動作事件監聽器 ..............274
11.9.2 鍵盤事件 ....................275
11.9.3 滑鼠事件 ....................278
11.9.4 窗體事件 ....................280
11.10 難點解答.........................282
11.10.1 Swing組件的層級關係 ........282
11.10.2 布局的使用 .................282
11.11 小結.............................283
11.12 動手糾錯.........................283
第12章 I/O(輸入/輸出)..285
視頻講解:1小時48分
精彩實例:6個
12.1 流概述............................286
12.2 輸入/輸出流.......................287
12.2.1 輸入流 ......................287
12.2.2 輸出流 ......................289
12.3 File類............................291
12.3.1 創建檔案對象 ................291
12.3.2 檔案操作 ....................292
12.3.3 資料夾操作 ..................294
12.4 檔案輸入/輸出流...................297
12.4.1 FileInputStream類與
FileOutputStream類 ..........297
12.4.2 FileReader類與FileWriter類 ..299
12.5 帶緩衝的輸入/輸出流...............301
12.5.1 BufferedInputStream類與
BufferedOutputStream類 ......302
12.5.2 BufferedReader類與
BufferedWriter類 ............304
12.6 難點解答..........................306
12.6.1 位元組流和字元流的區別 ........306
12.6.2 輸入/輸出流的使用 ...........306
12.7 小結..............................306
12.8 動手糾錯..........................306
第13章 多執行緒.............309
視頻講解:54分
精彩實例:6個
13.1 執行緒簡介..........................310
13.2 實現執行緒的兩種方式................310
13.2.1 繼承Thread類 ................310
13.2.2 實現Runnable接口 ............313
13.3 執行緒的生命周期....................316
13.4 操作執行緒的方法....................316
13.4.1 執行緒的休眠 ..................316
13.4.2 執行緒的加入 ..................318
13.4.3 執行緒的中斷 ..................321
13.5 執行緒的同步........................323
13.5.1 執行緒安全 ....................323
13.5.2 執行緒同步機制 ................324
13.6 難點解答..........................327
13.6.1 執行緒的核心方法:run()方法 ...327
13.6.2 執行緒的啟動 ..................327
13.7 小結..............................328
13.8 動手糾錯..........................328
第3篇 高級套用
第14章 使用JDBC操作
資料庫.............330
視頻講解:1小時08分
精彩實例:4個
14.1 JDBC概述..........................331
14.2 JDBC中常用的類和接口..............331
14.2.1 DriverManager類 .............331
14.2.2 Connection接口 ..............333
14.2.3 Statement接口 ...............333
14.2.4 PreparedStatement接口 .......334
14.2.5 ResultSet接口 ...............335
14.3 資料庫操作........................336
14.3.1 資料庫基礎 ..................336
14.3.2 連線資料庫 ..................338
14.3.3 數據查詢 ....................340
14.3.4 動態查詢 ....................342
14.3.5 添加、修改、刪除記錄 ........344
14.4 難點解答..........................347
14.4.1 無法連線資料庫 ..............347
14.4.2 SQL語句的使用 ...............347
14.5 小結..............................348
14.6 動手糾錯..........................348
第15章 Java繪圖...........349
視頻講解:1小時23分
精彩實例:5個
15.1 Java繪圖基礎......................350
15.1.1 Graphics繪圖類 ..............350
15.1.2 Graphics2D繪圖類 ............350
15.1.3 Canvas畫布類 ................350
15.2 繪製幾何圖形......................351
15.3 設定顏色與畫筆....................355
15.3.1 設定顏色 ....................355
15.3.2 設定畫筆 ....................358
15.4 圖像處理..........................360
15.4.1 繪製圖像 ....................360
15.4.2 圖像縮放 ....................362
15.5 難點解答..........................365
15.5.1 大部分方法需要重寫 ..........365
15.5.2 AWT與Swing組件的區別 ........365
15.6 小結..............................366
15.7 動手糾錯..........................366
第4篇 項目實戰
第16章 坦克大戰遊戲.......368
16.1 開發背景..........................369
16.2 系統開發環境要求..................369
16.3 系統功能設計......................369
16.3.1 系統功能結構 ................369
16.3.2 系統業務流程 ................369
16.4 項目目錄結構預覽..................371
16.5 枚舉設計..........................372
16.5.1 方向枚舉 ....................372
16.5.2 遊戲模式枚舉 ................372
16.5.3 坦克類型枚舉 ................373
16.5.4 牆塊類型枚舉 ................373
16.6 公共類設計........................374
16.6.1 繪圖工具類 ..................374
16.6.2 地圖工具類 ..................375
16.7 模型類設計.......................378
16.7.1 可顯示圖像的抽象類 ..........378
16.7.2 玩家坦克類 ..................380
16.7.3 電腦坦克類 ..................385
16.7.4 子彈類 ......................388
16.7.5 基地類 ......................390
16.7.6 爆炸效果類 ..................391
16.7.7 地圖類 ......................392
16.8 牆塊設計..........................393
16.8.1 牆塊抽象類 ..................393
16.8.2 牆塊實體類 ..................394
16.9 窗體類設計........................395
16.9.1 主窗體 ......................395
16.9.2 登錄面板 ....................396
16.9.3 顯示關卡面板 ................399
16.9.4 遊戲面板 ....................401
16.10 遊戲核心功能設計.................406
16.10.1 碰撞檢測 ...................406
16.10.2 刷新幀 .....................409
16.11 小結.............................410
附錄1 Eclipse常用快捷鍵......411
附錄2 編碼格式規範.........412
附錄3 命名規範.............414
附錄4 實例索引.............416