本書共分為24章,作者用通俗易懂的語言描述了Java、面向?qū)ο缶幊毯蚃ava應用的基本概念,主要介紹了Java的基本概念,包括變量的類型、字符串的使用、條件和循環(huán)語句、數(shù)組等;面向?qū)ο缶幊痰幕靖拍睿▽ο、繼承、數(shù)據(jù)結(jié)構(gòu)、如何捕獲程序的錯誤、創(chuàng)建線程、人機交互的相關知識等;Java應用的基本概念,包括如何創(chuàng)建HTTP客戶端、使用Java繪制圖形、創(chuàng)建Minecraft mod、編寫Android應用程序等。通過閱讀本書,讀者將學到Java、面向?qū)ο缶幊痰幕局R,以及Java應用的基本概念。
本書適合對Java和面向?qū)ο缶幊谈信d趣的讀者閱讀。
1.本書基于 Java 9 版本編寫;
2.全球銷量逾百萬冊的系列圖書,連續(xù)十余年打造的經(jīng)典品牌;
3.每章內(nèi)容針對Java初學者精心設計,直觀、循序漸進的學習教程,掌握關鍵知識的良好起點;
4.“Read Less, Do More”(精讀多練)的教學理念,案例與練習題引導讀者完成常見的任務;
5.提供源代碼。
本書主要內(nèi)容
設置Java編程環(huán)境。
在幾分鐘內(nèi)編寫第一個可工作的Java程序。
控制程序決策和行為。
存儲和處理信息。
構(gòu)建直觀的用戶界面。
創(chuàng)建交互式Web程序。
使用線程創(chuàng)建響應式程序。
讀寫文件和XML數(shù)據(jù)。
掌握面向?qū)ο缶幊痰淖罴褜嵺`。
使用新的HTTP客戶端。
使用Java創(chuàng)建Android 應用程序。
使用閉包擴展技能。
使用Java創(chuàng)建Minecraft mod。
24章階梯教學
通過閱讀本書,讀者將學會如何使用免費的NetBeans開發(fā)工具來創(chuàng)建Java應用程序。本書采用直觀、循序漸進的方法,引導讀者掌握使用Java創(chuàng)建桌面/Web程序、Web服務和Android應用程序所必需的技巧和技術。本書每章內(nèi)容都建立在已學的知識之上,即使讀者沒有任何Java編程經(jīng)驗,也可以通過學習本書,走上成功的道路。
循序漸進的示例引導讀者完成常見的Java開發(fā)任務。
問與答、測驗和練習幫助讀者檢驗知識的掌握情況。
“注意”“提示”和“警告”指出捷徑和解決方案。
羅格斯·卡登海德(Rogers Cadenhead),一位作家、計算機程序員、Web開發(fā)人員,他已經(jīng)編寫了23本有關Java和互聯(lián)網(wǎng)技術的圖書,并且維護著Drudge Retort和其他熱門站點。
第 1章 成為一個程序員 1
1.1 選擇一種語言 2
1.2 告訴計算機該做什么 3
1.3 程序是如何運行的 4
1.4 程序中的錯誤 5
1.5 選擇Java編程工具 6
1.6 安裝Java編程工具 6
1.7 總結(jié) 7
1.8 研討時間 7
第 2章 編寫讀者的第 一個程序 9
2.1 編寫程序所需的東西 9
2.2 創(chuàng)建Saluton程序 10
2.3 開始這個程序 10
2.4 類聲明 12
2.5 main語句的作用 12
2.6 括號標記 12
2.7 在變量中存儲信息 13
2.8 顯示變量的值 13
2.9 保存程序 14
2.10 將程序編譯成類文件 15
2.11 修復錯誤 15
2.12 運行Java程序 16
2.13 總結(jié) 17
2.14 研討時間 17
第3章 Java“度假”之旅 19
3.1 Oracle 19
3.2 Java簡史 20
3.3 和Java一起上學 21
3.4 在美食網(wǎng)絡上學習制作午餐 22
3.5 在NASA觀察天空 23
3.6 開始工作 23
3.7 在SourceForge附近停下來
“問路” 24
3.8 總結(jié) 25
3.9 研討時間 25
第4章 理解Java程序是如何運作的 27
4.1 創(chuàng)建一個應用程序 27
4.2 向應用程序發(fā)送參數(shù) 29
4.3 Java類庫 30
4.4 在JShell中嘗試Java語句 33
4.5 總結(jié) 34
4.6 研討時間 34
第5章 在程序中存儲和更改值 36
5.1 語句和表達式 36
5.2 分配變量類型 37
5.3 整數(shù)和浮點數(shù) 37
5.4 字符和字符串 38
5.5 其他數(shù)值變量類型 39
5.6 布爾變量類型 40
5.7 命名變量 40
5.8 在變量中存儲值 41
5.9 運算符 42
5.10 遞增和遞減變量 43
5.11 運算符優(yōu)先級 44
5.12 使用表達式 45
5.13 總結(jié) 47
5.14 研討時間 48
第6章 使用字符串進行通信 50
6.1 在字符串型變量中存儲文本 50
6.2 在程序中輸出字符串 51
6.3 在字符串中使用特殊字符 52
6.4 將字符串粘貼在一起 53
6.5 連接字符串和變量 53
6.6 高級的字符串處理 54
6.6.1 比較字符串 54
6.6.2 確定字符串的長度 55
6.6.3 創(chuàng)建一個不同大小寫的
字符串 55
6.6.4 查找字符串 56
6.6.5 輸出演職員表 56
6.7 總結(jié) 58
6.8 研討時間 58
第7章 使用條件測試來做決定 60
7.1 if語句 61
7.1.1 小于和大于比較 61
7.1.2 相等和不相等比較 62
7.1.3 用塊組織程序 62
7.2 if-else語句 63
7.3 switch語句 64
7.4 三元運算符 66
7.5 觀察Clock程序 66
7.6 總結(jié) 70
7.7 研討時間 70
第8章 用循環(huán)重復一個動作 72
8.1 for循環(huán) 72
8.2 while循環(huán) 75
8.3 do-while循環(huán) 75
8.4 退出循環(huán) 76
8.5 命名循環(huán) 77
8.6 測試計算機的運行速度 78
8.7 總結(jié) 80
8.8 研討時間 80
第9章 用數(shù)組存儲信息 82
9.1 創(chuàng)建數(shù)組 82
9.2 使用數(shù)組 84
9.3 多維數(shù)組 85
9.4 數(shù)組排序 86
9.5 計算字符串中的字符出現(xiàn)的
次數(shù) 88
9.6 總結(jié) 90
9.7 研討時間 90
第 10章 創(chuàng)建第 一個對象 92
10.1 面向?qū)ο缶幊痰墓ぷ髟怼?2
10.2 對象的行為 93
10.3 創(chuàng)建對象 94
10.4 理解繼承 95
10.5 構(gòu)建繼承的層次結(jié)構(gòu) 96
10.6 轉(zhuǎn)換簡單的變量和對象 96
10.6.1 轉(zhuǎn)換簡單的變量 97
10.6.2 轉(zhuǎn)換對象 98
10.6.3 將簡單的變量轉(zhuǎn)換為對象并
返回 98
10.7 創(chuàng)建一個對象 100
10.8 總結(jié) 102
10.9 研討時間 103
第 11章 描述對象 105
11.1 創(chuàng)建變量 105
11.2 創(chuàng)建類變量 107
11.3 使用方法創(chuàng)建行為 108
11.3.1 創(chuàng)建方法 108
11.3.2 具有不同參數(shù)的相似
方法 109
11.3.3 構(gòu)造函數(shù) 110
11.3.4 類方法 111
11.3.5 方法中的變量范圍 111
11.4 將一個類放入另一個類 112
11.5 使用this關鍵字 113
11.6 使用類方法和類變量 114
11.7 總結(jié) 116
11.8 研討時間 116
第 12章 充分利用現(xiàn)有的對象 118
12.1 繼承的力量 118
12.1.1 建立繼承 120
12.1.2 在子類中使用this和super 121
12.1.3 處理現(xiàn)有對象 121
12.2 在數(shù)組列表中存儲相同類的
對象 122
12.2.1 遍歷數(shù)組列表 124
12.2.2 創(chuàng)建一個子類 125
12.3 總結(jié) 128
12.4 研討時間 128
第 13章 在數(shù)據(jù)結(jié)構(gòu)中存儲對象 130
13.1 數(shù)組列表 131
13.2 散列映射 136
13.3 總結(jié) 138
13.4 研討時間 139
第 14章 處理程序中的錯誤 141
14.1 異!141
14.1.1 在try-catch語句塊中捕獲
異常 142
14.1.2 捕獲幾種不同類型的
異!145
14.1.3 發(fā)生異常后的處理 146
14.1.4 拋出異常 147
14.1.5 忽略異!148
14.1.6 不需要被捕獲的異常 149
14.2 拋出和捕獲異!150
14.3 總結(jié) 152
14.4 研討時間 152
第 15章 創(chuàng)建線程程序 154
15.1 線程 154
15.1.1 放慢程序速度 155
15.1.2 創(chuàng)建一個線程 155
15.2 處理線程 158
15.2.1 類的聲明 159
15.2.2 設置變量 159
15.3 構(gòu)造函數(shù) 160
15.4 在設置URL時捕獲異常 160
15.5 啟動線程 161
15.6 處理單擊事件 162
15.7 顯示LinkRotator 162
15.8 總結(jié) 165
15.9 研討時間 165
第 16章 使用內(nèi)部類和Lambda
表達式 167
16.1 內(nèi)部類 167
16.2 Lambda表達式 173
16.3 總結(jié) 177
16.4 研討時間 177
第 17章 構(gòu)建一個簡單的圖形用戶
界面 179
17.1 Swing和抽象窗口工具包 179
17.2 使用組件 180
17.2.1 窗口和框架 180
17.2.2 按鈕 184
17.2.3 標簽和文本框 185
17.2.4 復選框 186
17.2.5 下拉列表框 187
17.2.6 多行文本框 188
17.2.7 面板 190
17.2.8 創(chuàng)建組件 190
17.3 總結(jié) 194
17.4 研討時間 195
第 18章 布局圖形用戶界面 197
18.1 使用布局管理器 197
18.1.1 GridLayout管理器 199
18.1.2 BorderLayout管理器 200
18.1.3 BoxLayout管理器 200
18.1.4 使用Insets分離組件 201
18.2 提出申請 202
18.3 總結(jié) 206
18.4 研討時間 206
第 19章 響應用戶輸入 208
19.1 使程序監(jiān)聽 208
19.2 設置要被監(jiān)聽的組件 209
19.3 處理用戶事件 209
19.3.1 復選框和下拉列表框
事件 210
19.3.2 鍵盤事件 211
19.3.3 啟用和禁用組件 213
19.4 完成LottoMadness程序 213
19.5 總結(jié) 221
19.6 研討時間 221
第 20章 讀/寫文件 223
20.1 流 223
20.1.1 文件 224
20.1.2 從流中讀取數(shù)據(jù) 225
20.1.3 緩沖的輸入流 228
20.2 將數(shù)據(jù)寫入流 230
20.3 讀取和寫入配置屬性 232
20.4 總結(jié) 234
20.5 研討時間 235
第 21章 使用Java 9的新HTTP
客戶端 237
21.1 Java模塊 237
21.2 發(fā)出HTTP請求 238
21.3 從Web保存文件 241
21.4 在網(wǎng)上發(fā)布數(shù)據(jù) 244
21.5 總結(jié) 247
21.6 研討時間 247
第 22章 繪制Java2D圖形 249
22.1 使用Font類 249
22.2 使用Color類 250
22.3 創(chuàng)建自定義顏色 251
22.4 繪制線條和形狀 251
22.4.1 繪制線條 252
22.4.2 繪制矩形 252
22.4.3 繪制橢圓和圓 253
22.4.4 繪制弧 254
22.5 繪制餅圖 254
22.6 總結(jié) 258
22.7 研討時間 259
第 23章 使用Java創(chuàng)建
Minecraft Mod 261
23.1 設置Minecraft服務器 262
23.2 連接到服務器 265
23.3 創(chuàng)建讀者的第 一個Mod 266
23.4 教僵尸騎馬 272
23.5 找到所有的暴民 277
23.6 編寫一個可以構(gòu)建事件
的Mod 280
23.7 總結(jié) 285
23.8 研討時間 285
第 24章 編寫Android移動應用程序 287
24.1 介紹Android 287
24.2 創(chuàng)建一個Android移動應用
程序 288
24.2.1 探索一個新的Android
項目 290
24.2.2 創(chuàng)建一個移動應用程序 291
24.2.3 設置Android模擬器 292
24.3 運行移動應用程序 293
24.4 設計一個真正的移動應用
程序 295
24.4.1 組織資源 295
24.4.2 配置移動應用程序的
Manifest文件 296
24.4.3 設計圖形用戶界面 297
24.5 總結(jié) 298
24.6 研討時間 298
附錄A 使用NetBeans IDE 300
附錄B 獲取Java資源 306
附錄C 修復Android Studio模擬器的
一個問題 308
附錄D 修復NetBeans IDE中不可見的
包錯誤 313