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