Java是一門經(jīng)典的面向?qū)ο蟮木幊陶Z言,具有很強的通用性、平臺可移植性和安全性,并且一直在編程語言排行榜上穩(wěn)居前列。本書旨在通過淺顯易懂的語言,講清Java的特性,幫助讀者掌握面向?qū)ο缶幊痰暮诵乃枷;同時,通過豐富實用的代碼示例,幫助讀者快速上手,輕松掌握Java語言。
本書分11章,帶領(lǐng)讀者從零開始認識Java,了解Java,會用并且用好Java。書中不僅對Java的運行機制、體系結(jié)構(gòu)和基本的安裝配置進行了講解,還對面向?qū)ο缶幊痰乃枷脒M行了深刻的剖析和總結(jié),同時作者以豐富的代碼示例演示了基本的Java編程。除此之外,本書還對Java的集合框架、多線程、實用類、IO流、反射機制和Web編程等進行了講解,讓讀者在掌握基本編程技巧的基礎(chǔ)上,進一步探索Java的強大功能。
本書由Java開發(fā)老手編寫,匯集了豐富的實踐經(jīng)驗和實用的編程思想,非常適合想入門Java的新手學習,也適合用作計算機相關(guān)專業(yè)的輔助教程,其他非科班出身的想學習Java編程的讀者也可以參考學習。
1.通俗易懂 久經(jīng)教學考驗的Java入門教程,巧用類比式講解,核心概念輕松掌握;
2.快速上手 實踐為主,理論相輔,讓零基礎(chǔ)的新手也可以快速掌握Java編程;
3.示例豐富 近300段代碼示例讓理論落地,5大項目實戰(zhàn)貫穿核心技能點;
4.精巧實用 內(nèi)容經(jīng)過反復推敲,源自研發(fā)一線的經(jīng)年積累,強化編程實操技巧;
5.良師相伴 讀者專屬Q(mào)Q群,作者在線答疑解惑,重磅學習資料實時放送;
6.拓展學習 作者秘制的配套教程和Java核心面試題答疑,與本書無縫銜接。
寧楠,Java開發(fā)工程師,擁有多年軟件研發(fā)、系統(tǒng)架構(gòu)經(jīng)驗,歷任開發(fā)工程師、項目經(jīng)理、技術(shù)總監(jiān)。熱愛技術(shù)交流和知識分享,在多個平臺輸出技術(shù)博客、圖文課程和視頻課程,公眾號原創(chuàng)博主、知識星球嘉賓、慕課網(wǎng)講師、Git Chat認證作者,對Java編程有著豐富的經(jīng)驗和獨到的見解。
第 1部分 Java基礎(chǔ)
第 1章 Java初體驗 2
1.1 Java概述 2
1.1.1 什么是Java 2
1.1.2 Java的運行機制 4
1.1.3 Java三大體系 5
1.2 搭建Java開發(fā)環(huán)境 6
1.2.1 安裝配置Java10 6
1.2.2 Java程序開發(fā)步驟 11
1.3 小結(jié) 13
第 2章 Java入門 14
2.1 開發(fā)第 一個Java程序 14
2.1.1 使用Eclipse開發(fā)程序 14
2.1.2 編碼規(guī)范 21
2.1.3 注釋 24
2.1.4 關(guān)鍵字 27
2.2 變量 29
2.2.1 什么是變量 29
2.2.2 如何使用變量 30
2.3 基本數(shù)據(jù)類型 32
2.4 數(shù)據(jù)類型轉(zhuǎn)換 33
2.4.1 自動轉(zhuǎn)換 33
2.4.2 強制轉(zhuǎn)換 35
2.5 運算符 36
2.5.1 賦值運算符 36
2.5.2 基本算術(shù)運算符 37
2.5.3 復合算術(shù)運算符 40
2.5.4 關(guān)系運算符 41
2.5.5 邏輯運算符 43
2.5.6 條件運算符 46
2.5.7 位運算符 47
2.6 小結(jié) 50
第3章 Java進階 51
3.1 流程控制 51
3.1.1 if-else 51
3.1.2 多重if 53
3.1.3 if嵌套 55
3.1.4 switch-case 56
3.2 循環(huán) 58
3.2.1 while循環(huán) 58
3.2.2 do-while循環(huán) 61
3.2.3 for循環(huán) 63
3.2.4 while、do-while和
for這3種循環(huán)的區(qū)別 64
3.2.5 雙重循環(huán) 65
3.2.6 終止循環(huán) 69
3.3 數(shù)組 70
3.3.1 什么是數(shù)組 70
3.3.2 數(shù)組的基本要素 71
3.3.3 如何使用數(shù)組 71
3.3.4 數(shù)組的常用操作及
方法 74
3.3.5 二維數(shù)組 78
3.4 綜合練習 80
3.5 小結(jié) 86
第 2部分 Java面向?qū)ο?第4章 面向?qū)ο蠡A(chǔ) 88
4.1 什么是面向?qū)ο蟆?8
4.2 類與對象 89
4.2.1 類與對象的關(guān)系 89
4.2.2 定義類 90
4.2.3 構(gòu)造函數(shù) 91
4.2.4 創(chuàng)建對象 92
4.2.5 使用對象 93
4.2.6 this關(guān)鍵字 93
4.2.7 方法重載 94
4.2.8 成員變量和局部變量 95
4.3 封裝 98
4.3.1 什么是封裝 98
4.3.2 封裝的步驟 99
4.3.3 static關(guān)鍵字 101
4.4 繼承 105
4.4.1 什么是繼承 105
4.4.2 子類訪問父類 106
4.4.3 子類訪問權(quán)限 109
4.4.4 方法重寫 111
4.4.5 方法重寫VS方法重載 114
4.5 多態(tài) 114
4.5.1 什么是多態(tài) 114
4.5.2 多態(tài)的使用 117
4.5.3 抽象方法和抽象類 119
4.6 小結(jié) 122
第5章 面向?qū)ο筮M階 123
5.1 Object類 123
5.1.1 認識Object類 123
5.1.2 重寫Object類的方法 125
5.2 包裝類 131
5.2.1 什么是包裝類 131
5.2.2 裝箱與拆箱 132
5.3 接口 135
5.3.1 什么是接口 135
5.3.2 如何使用接口 136
5.3.3 面向接口編程的
實際應用 138
5.4 異常 142
5.4.1 什么是異!142
5.4.2 異常的使用 142
5.4.3 異常類 146
5.4.4 throw和throws 147
5.4.5 自定義異常類 151
5.5 綜合練習 152
5.6 小結(jié) 157
第3部分 Java高級應用
第6章 多線程 160
6.1 進程與線程 160
6.2 Java中線程的使用 163
6.2.1 繼承Thread類 163
6.2.2 實現(xiàn)Runnable接口 165
6.2.3 線程的狀態(tài) 166
6.3 線程調(diào)度 167
6.3.1 線程休眠 167
6.3.2 線程合并 169
6.3.3 線程禮讓 171
6.3.4 線程中斷 173
6.4 線程同步 175
6.4.1 線程同步的實現(xiàn) 175
6.4.2 線程安全的單例模式 183
6.4.3 死鎖 187
6.4.4 重入鎖 189
6.4.5 生產(chǎn)者消費者模式 194
6.5 綜合練習 196
6.6 小結(jié) 198
第7章 集合框架 199
7.1 集合的概念 199
7.2 Collection接口 200
7.2.1 Collection接口的定義 200
7.2.2 Collection的子接口 201
7.3 List接口 201
7.3.1 List接口的定義 201
7.3.2 List接口的實現(xiàn)類 202
7.4 Set接口 207
7.4.1 Set接口的定義 207
7.4.2 Set接口的實現(xiàn)類 208
7.5 Map接口 214
7.5.1 Map接口的定義 214
7.5.2 Map接口的實現(xiàn)類 215
7.6 Collections工具類 220
7.7 泛型 222
7.7.1 泛型的概念 222
7.7.2 泛型的應用 224
7.7.3 泛型通配符 226
7.7.4 泛型上限和下限 227
7.7.5 泛型接口 228
7.8 綜合練習 229
7.9 小結(jié) 232
第8章 實用類 233
8.1 枚舉 233
8.2 Math 236
8.3 Random 237
8.4 String 238
8.4.1 String實例化 238
8.4.2 String常用方法 242
8.5 StringBuffer 244
8.6 日期類 246
8.6.1 Date 246
8.6.2 Calendar 248
8.7 小結(jié) 249
第9章 IO流 250
9.1 File類 250
9.2 字節(jié)流 251
9.3 字符流 257
9.4 處理流 265
9.5 緩沖流 267
9.5.1 輸入緩沖流 268
9.5.2 輸出緩沖流 274
9.6 序列化和反序列化 279
9.6.1 序列化 279
9.6.2 反序列化 280
9.7 小結(jié) 281
第4部分 底層擴展
第 10章 反射 284
10.1 Class類 284
10.2 獲取類結(jié)構(gòu) 287
10.2.1 獲取類的接口 288
10.2.2 獲取父類 289
10.2.3 獲取構(gòu)造函數(shù) 290
10.2.4 獲取方法 292
10.2.5 獲取成員變量 294
10.3 反射的應用 296
10.3.1 反射調(diào)用方法 296
10.3.2 反射訪問成員變量 299
10.3.3 反射調(diào)用構(gòu)造函數(shù) 302
10.4 動態(tài)代理 303
10.5 小結(jié) 309
第 11章 網(wǎng)絡編程 310
11.1 IP與端口 312
11.1.1 IP 312
11.1.2 端口 314
11.2 URL和URLConnection 314
11.2.1 URL 314
11.2.2 URLConnection 317
11.3 TCP協(xié)議 318
11.4 UDP協(xié)議 322
11.5 多線程下的網(wǎng)絡編程 324
11.6 綜合練習 326
11.7 小結(jié) 328