第1篇 築基
第1章 java初體驗 3
1.1 為什麼是java 3
1.2 java怎麼改變我的生活 4
1.3 打開大門前的準備 5
1.3.1 下載jdk 5
1.3.2 安裝jdk 6
1.3.3 jdk的配置 7
1.3.4 測試jdk配置是否成功 8
1.4 java世界的風俗 9
1.4.1 命名規範 9
1.4.2 代碼編寫常見規則 9
1.4.3 java注釋要求 11
1.5 站在門口說hello 13
1.5.1 編寫hello world代碼 13
1.5.2 編譯和運行hello world 14
1.5.3 如何獲取在綫幫助 16
1.6 小結 17
1.7 習題 17
第2章 java江湖的寶劍eclipse 18
2.1 eclipse的獲取與安裝 18
2.1.1 下載與安裝eclipse 18
2.1.2 啓動eclipse 19
2.1.3 漢化eclipse 20
2.2 eclipse使用說明 23
2.2.1 什麼是工作空間 23
2.2.2 eclipse工作界麵概述 23
2.2.3 什麼是透視圖 24
2.2.4 什麼是視圖 25
2.2.5 熟悉eclipse的菜單欄和工具欄 25
2.2.6 先人一手,掌握快捷鍵 26
2.3 手把手hello world 27
2.3.1 起式,創建新的java項目 28
2.3.2 齣招,創建可執行java類 28
2.3.3 不一樣的hello world 29
2.4 eclipse進階 30
2.4.1 導入已有項目 30
2.4.2 插件機製簡介 31
2.5 小結 31
2.6 習題 31
第3章 java功法之數據類型 32
3.1 生來不變的常量 32
3.2 為變而生的變量 33
3.3 數據類型 34
3.3.1 常用基礎類型 34
3.3.2 對象類型 37
3.3.3 string詳解 37
3.3.4 高精度數據類型 39
3.3.5 數組基礎 40
3.4 數據類型間的轉換 42
3.5 java中的常用運算符 43
3.5.1 賦值運算符 43
3.5.2 算術運算符 43
3.5.3 運算符的優先級彆與結閤特性 45
3.6 java的自留地——關鍵字 46
3.7 小結 47
3.8 習題 48
第4章 用如果造句——條件語句 49
4.1 如果… 49
4.1.1 關係條件 49
4.1.2 邏輯條件 52
4.1.3 用問號寫最簡潔的如果句子 53
4.2 否則… 54
4.2.1 如果與否則if…else… 54
4.2.2 如果裏的如果——if 嵌套 54
4.3 開關switch 56
4.3.1 switch怎麼用 56
4.3.2 switch與if的比較 58
4.3.3 用switch寫個紅綠燈開關 59
4.4 小結 60
4.5 習題 60
第5章 減輕重復勞動——循環語句 62
5.1 三韆米的跑圈運動 62
5.1.1 用for語句跑圈 62
5.1.2 圈數加加,體力減減 66
5.1.3 什麼時候用for 66
5.2 跑不動瞭怎麼辦 66
5.2.1 跳齣比賽用break 67
5.2.2 偷工減料直接下一圈continue 67
5.3 圈圈的其他跑法 68
5.3.1 邊跑邊看終點的while 68
5.3.2 先跑一圈再說的do…while… 70
5.3.3 圈套圈——循環嵌套 71
5.4 各種跑圈方法的特點比較 75
5.5 小結 75
5.6 習題 76
第6章 對象是什麼 77
6.1 一切都是對象 77
6.1.1 什麼是對象 77
6.1.2 為什麼要麵嚮對象 79
6.2 包 80
6.2.1 包是什麼 80
6.2.2 包起到什麼作用 81
6.2.3 容易齣錯的包路徑 82
6.2.4 使用包中的類 83
6.3 類 84
6.3.1 什麼是類 84
6.3.2 類的結構 85
6.3.3 成員方法 86
6.3.4 成員變量和局部變量 87
6.3.5 公用還是私用 87
6.3.6 static關鍵字的使用 88
6.3.7 構造方法的意義 89
6.4 使用對象 90
6.4.1 創建對象 90
6.4.2 使用對象 92
6.4.3 對象的作用域 93
6.4.4 垃圾迴收 93
6.5 小結 93
6.6 習題 94
第7章 對象深入 95
7.1 父子傳承——繼承 95
7.1.1 繼承概念 95
7.1.2 繼承的代碼實現 96
7.1.3 繼承中的類型轉換 98
7.1.4 繼承中的子類可以做些什麼 98
7.1.5 單根繼承 99
7.1.6 哪些遺産可以繼承 99
7.1.7 繼承後的初始化順序 100
7.2 一名多用與青齣於藍 102
7.2.1 一名多用——方法的重載 102
7.2.2 青齣於藍——方法的覆寫 103
7.3 抽象類與final類 105
7.3.1 我是模闆之抽象類 105
7.3.2 巧用抽象類 106
7.3.3 我不要後代之final類 107
7.4 嚮世界說我能做到——接口 108
7.4.1 接口是什麼 108
7.4.2 兌現承諾實現接口 109
7.4.3 麵嚮接口編程 110
7.4.4 用接口實現多重繼承特性 111
7.5 一切的根java.lang.object 112
7.6 小結 117
7.7 習題 118
第8章 形形色色的對象倉庫 119
8.1 有序但容量有限的倉庫——數組 119
8.1.1 單列門的床頭櫃——一維數組 119
8.1.2 分格書櫥——二維數組 120
8.1.3 立體倉庫——多維數組 122
8.1.4 經常齣錯之數組越界 122
8.2 不限容的大倉庫arraylist 122
8.2.1 arraylist的定義.. 123
8.2.2 添加對象到arraylist 123
8.2.3 從arraylist中獲取對象 124
8.2.4 從arraylist中移除對象 124
8.2.5 arraylist其他常用方法 124
8.2.6 迭代器iterator實現arraylist的迭代 125
8.2.7 arraylist的自定義排序 127
8.3 不允許重復的倉庫set 129
8.3.1 使用hashset類 129
8.3.2 使用treeset類 130
8.4 易於檢索的倉庫hashmap 130
8.4.1 hashmap的定義 131
8.4.2 hashmap優點 131
8.4.3 hashmap的數據存取 131
8.4.4 hashmap的迭代 132
8.5 其他倉庫 133
8.5.1 hashtable的簡介 133
8.5.2 vector的簡介 133
8.5.3 treemap的簡介 133
8.5.4 linkedlist的簡介 134
8.6 讓倉庫更安全——泛型 135
8.7 小結 136
8.8 習題 136
第2篇 進階
第9章 不當甩手掌櫃——異常處理 141
9.1 齣異常瞭 141
9.1.1 異常是什麼 141
9.1.2 異常的分類 142
9.1.3 常見異常列錶 143
9.2 捕捉搗蛋鬼之try…catch… 144
9.3 抓異常的處理策略 147
9.3.1 抓瞭不管的unchecked異常 147
9.3.2 兩手硬抓的checked異常 150
9.4 自定義異常 151
9.5 抓住搗蛋鬼後的清場行動之finally使用 151
9.6 小結 153
9.7 習題 153
第10章 進齣之道java輸入輸齣係統 155
10.1 java i/o簡介 155
10.1.1 流的概念 155
10.1.2 字節數據流 156
10.1.3 字符數據流 159
10.1.4 緩衝數據流 163
10.2 到命令行的輸入輸齣 163
10.2.1 標準流 163
10.2.2 命令行上的輸入輸齣 164
10.2.3 格式化輸齣 165
10.3 一步一步學文件操作 167
10.3.1 文件夾操作 167
10.3.2 文件操作 169
10.3.3 文件內容的讀寫 170
10.4 properties類文件的操作 170
10.4.1 讀取properties文件 170
10.4.2 寫入properties文件 171
10.4.3 properties類詳解 173
10.5 serializable接口的使用 173
10.5.1 serializable概念 173
10.5.2 把對象寫到硬盤上 174
10.6 小結 176
10.7 習題 176
第11章 榨乾cpu之多綫程 177
11.1 綫程起步 177
11.1.1 進程與綫程 177
11.1.2 可惡的排隊 178
11.1.3 造個分身去排隊 179
11.2 怎麼創建綫程 180
11.2.1 通過繼承thread類創建綫程 180
11.2.2 通過實現runnable接口創建綫程 181
11.2.3 怎麼選擇最符閤的創建方式 182
11.3 我想排到前麵去 183
11.3.1 調整綫程的優先級 183
11.3.2 綫程的執行順序 183
11.4 維持排隊秩序——綫程的控製 184
11.4.1 中斷綫程 184
11.4.2 join方法 185
11.4.3 sleep()方法 187
11.4.4 yield()方法 187
11.5 默默地做任務——守護綫程 187
11.6 重要共享資源管理——綫程的同步 188
11.6.1 多綫程同寫一塊數據 188
11.6.2 綫程同步方法 190
11.6.3 將代碼塊設為同步 191
11.6.4 綫程死鎖 191
11.7 綫程間通信 192
11.7.1 綫程的狀態 192
11.7.2 wait()、notify()與notifyall() 192
11.7.3 幾個不再被使用的方法 193
11.8 小結 193
11.9 習題 193
第12章 通往數據庫的橋(jdbc) 194
12.1 什麼是jdbc 195
12.1.1 jdbc簡介 195
12.1.2 關係型數據庫的常見操作 196
12.1.3 怎樣獲取正確的jdbc驅動程序 198
12.2 必須會使用的jdbc類 200
12.2.1 打開數據庫的connection 200
12.2.2 執行指令的statement 203
12.2.3 查詢結果集resultset 204
12.3 一步一步學查數據庫 205
12.3.1 執行查詢sql語句 205
12.3.2 處理查詢結果 207
12.3.3 完整的查詢示例 208
12.4 一步一步學各種數據庫操作 210
12.4.1 怎麼插入數據到數據庫 210
12.4.2 怎麼更新數據到數據庫 211
12.4.3 怎麼從數據庫刪除數據 211
12.5 jdbc處理事務 212
12.6 小結 212
12.7 習題 213
第13章 窗體程序開發技術(swing) 214
13.1 swing簡介 214
13.2 跟我學用窗體說hello world 215
13.2.1 創建主窗體 215
13.2.2 創建菜單 217
13.2.3 創建工具欄 218
13.2.4 創建文本框 218
13.2.5 創建按鈕 219
13.2.6 添加消息框 219
13.2.7 添加事件 220
13.2.8 完整代碼 221
13.3 常用布局管理器 223
13.3.1 flowlayout布局 223
13.3.2 borderlayout布局 224
13.3.3 gridbaglayout布局 225
13.4 所見即所得的jigloo 226
13.4.1 jigloo的獲得 227
13.4.2 jigloo的創建嚮導 227
13.4.3 jigloo的操作界麵簡介 227
13.5 小結 229
13.6 習題 229
第3篇 實戰講解
第14章 輕輕鬆鬆黑傑剋(21點) 233
14.1 21點遊戲的需求分析 233
14.1.1 需求用例分析 233
14.1.2 玩法分析 234
14.2 代碼實現 234
14.2.1 card撲剋牌 234
14.2.2 player玩傢 235
14.2.3 dealer荷官 236
14.2.4 cardsinhand一手好牌 237
14.2.5 blackjack遊戲開始 237
14.3 小結 241
第15章 應用實戰之實用個人通訊冊(c/s) 242
15.1 需求分析 242
15.2 數據庫設計 243
15.3 界麵設計 244
15.3.1 主界麵設計 244
15.3.2 添加聯係人界麵 244
15.3.3 修改聯係人界麵 244
15.3.4 刪除聯係人界麵 245
15.4 功能實現 245
15.4.1 工具代碼 245
15.4.2 數據庫錶訪問類 247
15.4.3 主界麵代碼 252
15.4.4 添加與修改界麵代碼 256
15.5 小結 259
附錄 jdk命令詳解. 260
· · · · · · (
收起)