Java編程動手學
汪建 汪立
相關主題
商品描述
這是一本講解Java基本語法的書,全書始終從初學者的角度,用通俗易懂的語言和形象生動的例子來講解Java基礎知識,讓讀者能輕鬆快速掌握。
本書共分為12章,首先介紹Java語言的基本情況;然後介紹如何在Windows、Linux和macOS三種操作系統中安裝Java和集成開發環境以及JShell交互式編程;接著講解Java的一些常見概念和數據類型以及Java的八大類運算符、各種表達式和語句;之後介紹類和對象這兩個核心概念,數組與集合的概念和使用,Java常用工具類,以及Java的異常處理、註解以及泛型機制;最後講解Java的文件與I/O的相關操作以及Java多線程和網絡編程。
本書適合 Java 入門人員、初級開發人員以及想鞏固 Java 基礎的人閱讀,也可作為自學 Java 或者正在參加 Java 培訓的人員的參考書。
作者簡介
汪建(笔名seaboat),拥有10年以上的软件开发经验,擅长Java、Python和C++等编程语言,从事各类业务系统、中间件、基础架构、人工智能系统等研发工作。目前负责一个人工智能团队,致力于开发各种人工智能能力并赋能到业务系统中。精研工程算法、人工智能算法、自然语言处理、计算机视觉、架构、分布式、高并发、大数据、搜索引擎等方面的技术。平时喜欢看书、运动、写作、编程、绘画。崇尚技术自由,思想开放。著有《图解 Java 并发编程》《图解数据结构与算法》《Tomcat内核设计剖析》。
个人博客:blog.csdn.net/wangyangzhizhou
个人公众号:远洋号
汪立,拥有多年的大型系统开发经验,对Java语言及生态有浓厚的兴趣,对Spring、Spring Boot、Spring MVC、Spring Cloud、MyBatis、Dubbo、ZooKeeper等有较深入的研究,熟悉常用消息中间件(RocketMQ、Kafka、Elasticsearch、Redis)的使用及原理。此外,对JVM和分布式技术也有一定的研究,并持续关注Java开源技术的发展。
目錄大綱
第 1章 走進Java世界 1
1.1 Java介紹 1
1.2 Java發展史 2
1.3 如何選擇Java版本 4
1.4 Java語言的特性 5
1.5 JVM、JRE與JDK 6
1.6 Java執行機制 8
1.7 Java的應用領域 11
第 2章 開發環境 14
2.1 安裝Java環境 14
2.1.1 Windows系統下安裝JDK 14
2.1.2 Linux系統下安裝JDK 18
2.1.3 macOS系統下安裝JDK 20
2.2 第 一個Java程序 21
2.2.1 Java編程的一般步驟 21
2.2.2 編寫運行HelloJava 22
2.2.3 初步瞭解代碼 22
2.3 安裝IDEA 24
2.4 JShell交互式編程 28
2.4.1 為什麽要使用JShell 28
2.4.2 JShell執行代碼片段 29
2.4.3 JShell常用命令 31
第3章 基礎知識 33
3.1 註釋 33
3.1.1 單行註釋 33
3.1.2 多行註釋 34
3.1.3 文檔註釋 34
3.2 標識符和關鍵字 35
3.3 變量 38
3.3.1 變量的聲明與賦值 39
3.3.2 三類變量 39
3.4 常量 41
3.5 Java的數據類型 43
3.6 整數類型 45
3.6.1 整數類型的選擇 46
3.6.2 默認整型 46
3.6.3 為什麽要加L 47
3.6.4 不同進制寫法 48
3.7 浮點類型 48
3.8 字符類型 50
3.8.1 定義字符型 50
3.8.2 與整型互相轉換 51
3.8.3 Unicode方式賦值 52
3.9 布爾類型 53
3.10 類型轉換 54
3.10.1 隱式類型轉換 54
3.10.2 顯式類型轉換 56
第4章 運算符 59
4.1 算術運算符 59
4.1.1 加法運算符 59
4.1.2 減法運算符 60
4.1.3 乘法運算符 61
4.1.4 除法運算符 61
4.1.5 取餘運算符 62
4.2 關系運算符 63
4.3 自增和自減運算符 65
4.4 邏輯運算符 67
4.4.1 與運算符 67
4.4.2 或運算符 68
4.4.3 非運算符 69
4.5 位邏輯運算符 70
4.6 移位運算符 72
4.6.1 右移位運算 72
4.6.2 左移位運算 73
4.6.3 無符號右移位運算 74
4.7 賦值運算符 75
4.8 其他運算符 78
4.8.1 條件運算符 78
4.8.2 括號運算符 78
4.8.3 正/負運算符 79
4.8.4 instanceof運算符 79
4.9 運算符優先級 80
第5章 表達式與語句 83
5.1 表達式、語句、語句塊 83
5.1.1 表達式 83
5.1.2 語句 84
5.1.3 語句塊 85
5.2 程序執行順序 86
5.2.1 默認執行順序 86
5.2.2 分支執行順序 86
5.2.3 循環執行順序 87
5.3 if條件分支語句 89
5.3.1 if結構 89
5.3.2 if-else結構 90
5.3.3 if-else-if結構 91
5.3.4 嵌套if結構 92
5.4 switch條件分支語句 94
5.4.1 switch的使用 94
5.4.2 break的語義 96
5.5 for循環語句 97
5.5.1 for語句語法 97
5.5.2 for語句流程 98
5.5.3 嵌套for語句 100
5.5.4 break與continue 100
5.6 while循環語句 101
5.6.1 while語句語法 101
5.6.2 break與continue 102
5.7 do-while循環語句 103
5.7.1 do-while語句語法 104
5.7.2 break與continue 104
5.7.3 while與do-while有什麽不同 105
5.8 return語句 105
第6章 類與對象(上) 108
6.1 面向對象編程 108
6.2 面向對象的基本概念 109
6.3 Java類與對象 111
6.3.1 定義Java類 111
6.3.2 創建對象 113
6.3.3 對象的初始化 114
6.3.4 類的主方法 115
6.4 類的成員方法 117
6.4.1 方法的構成 117
6.4.2 方法的定義 118
6.4.3 方法的調用 119
6.5 類的構造方法 120
6.6 類中的this關鍵字 123
6.6.1 訪問當前對象的屬性 123
6.6.2 調用當前對象的方法 124
6.6.3 調用構造方法 125
6.7 Java中的包 126
6.7.1 為什麽需要包 126
6.7.2 如何聲明包 127
6.7.3 包的導入 127
6.7.4 內置包與自定義包 129
6.8 Java中的4種訪問修飾符 130
6.9 Java類的封裝性 133
6.10 Java中的static關鍵字 136
6.10.1 實例方法與靜態方法 136
6.10.2 實例變量與靜態變量 137
6.10.3 靜態塊 138
6.11 Java中的null關鍵字 138
6.11.1 為什麽需要null 138
6.11.2 判斷是否為null 139
6.11.3 NullPointerException異常 140
6.12 無名稱對象 141
6.13 對象的克隆 142
6.14 對象的序列化與反序列化 144
第7章 類與對象(下) 147
7.1 Java類的繼承 147
7.1.1 如何實現繼承 148
7.1.2 父子類的轉換 150
7.2 類的super關鍵字 151
7.2.1 調用父類的構造方法 151
7.2.2 訪問父類實例的變量 152
7.2.3 調用父類的方法 152
7.2.4 自動添加super() 153
7.3 final關鍵字 154
7.3.1 final聲明變量 154
7.3.2 final聲明方法 155
7.3.3 final聲明類 155
7.4 Java中重寫方法 156
7.5 Java中重載方法 159
7.6 Java的多態 160
7.7 instanceof關鍵字 162
7.8 Java的抽象類 164
7.9 Java的接口 165
7.9.1 定義一個完整的接口 166
7.9.2 接口的繼承 167
7.9.3 實現多個接口 167
7.9.4 編譯器的隱性作用 168
7.9.5 default關鍵字 168
7.10 枚舉類型enum 170
7.11 Java內部類 171
7.11.1 成員內部類 172
7.11.2 靜態內部類 172
7.11.3 匿名內部類 173
第8章 數組與集合 176
8.1 Java的數組結構 176
8.2 一維數組 176
8.2.1 聲明與創建 177
8.2.2 初始化與訪問 177
8.2.3 數組的長度 178
8.2.4 遍歷數組 179
8.3 二維數組 180
8.3.1 聲明與創建 180
8.3.2 初始化與訪問 181
8.3.3 遍歷數組 182
8.4 三維及更高維數組 183
8.5 數組類(Arrays) 183
8.5.1 打印數組內容 184
8.5.2 數組排序 184
8.5.3 判斷兩個數組是否相等 185
8.5.4 填充數組 185
8.6 復制數組 186
8.6.1 System.arraycopy()方法 186
8.6.2 Arrays.copyOf()方法 187
8.6.3 Arrays.copyOfRange()方法 187
8.7 Java的集合 188
8.8 列表類 189
8.8.1 添加元素 189
8.8.2 訪問元素 190
8.8.3 修改元素 190
8.8.4 刪除元素 191
8.8.5 獲取列表元素個數 191
8.8.6 遍歷數組列表 191
8.8.7 ArrayList與LinkedList 192
8.9 集合類 192
8.9.1 哈希集合 193
8.9.2 樹集合 194
8.10 映射類 195
8.11 隊列類 197
8.12 堆棧類 198
8.13 集合工具類 200
8.13.1 排序操作 200
8.13.2 最大和最小元素 201
8.13.3 對集合進行填充 202
8.13.4 計算某元素出現次數 203
8.13.5 替換所有元素 203
8.13.6 復制List對象 203
第9章 Java常用工具類 205
9.1 字符串類(String) 205
9.1.1 charAt()方法 207
9.1.2 length()方法 207
9.1.3 equals()方法 208
9.1.4 startsWith()方法 208
9.1.5 endsWith()方法 209
9.1.6 indexOf()方法 209
9.1.7 substring()方法 209
9.1.8 replace()方法 210
9.1.9 split()方法 210
9.1.10 toLowerCase()方法 210
9.1.11 toUpperCase()方法 211
9.1.12 通過+連接 211
9.2 運行環境類(Runtime) 211
9.3 系統類(System) 213
9.3.1 獲取系統當前時間 213
9.3.2 獲取系統屬性 214
9.3.3 獲取操作系統的環境變量 215
9.3.4 退出Java虛擬機 216
9.3.5 獲取標準輸出輸入對象 216
9.4 基本數據類型包裝類 217
9.5 數學類(Math) 220
9.5.1 自然常數與圓周率 220
9.5.2 三角函數運算 220
9.5.3 指數對數運算 222
9.5.4 取整運算 222
9.5.5 取絕對值 223
9.5.6 求最大值與最小值 224
9.6 隨機數類(Random) 225
9.7 掃描類(Scanner) 226
9.8 日期類(Date) 226
9.9 正則表達式 230
9.9.1 匹配單個字符 232
9.9.2 預定義元字符 232
9.9.3 次數限定符 233
9.9.4 方括號表達式 234
9.9.5 開頭符與結尾符 235
9.9.6 或邏輯符 235
9.9.7 Pattern類 235
9.9.8 Matcher類 236
第 10章 異常、註解與泛型 239
10.1 Java的異常處理機制 239
10.1.1 try-catch組合詳解 241
10.1.2 try-multi-catch組合詳解 244
10.1.3 try-catch-finally組合詳解 246
10.1.4 throw關鍵字 249
10.1.5 throws關鍵字 250
10.2 Java的註解 252
10.2.1 @Override 252
10.2.2 @Deprecated 253
10.2.3 @SuppressWarnings 253
10.3 Java的泛型 254
10.3.1 泛型方法 255
10.3.2 泛型類型 256
10.3.3 泛型接口 257
第 11章 文件與I/O 259
11.1 Java文件類 259
11.1.1 創建和刪除文件或目錄 259
11.1.2 文件目錄的路徑 261
11.1.3 File類的常用方法 261
11.1.4 文件重命名 262
11.1.5 判斷文件是否存在 263
11.1.6 獲取文件屬性 263
11.1.7 遍歷文件和目錄 264
11.2 Java的輸入與輸出 265
11.2.1 輸入輸出類 266
11.2.2 文件輸入流 268
11.2.3 文件輸出流 270
11.2.4 對象輸出流 272
11.2.5 對象輸入流 274
11.2.6 文件讀取器 275
11.2.7 文件寫入器 278
第 12章 多線程與網絡編程 280
12.1 進程與線程 280
12.2 多線程機制 281
12.3 線程的生命周期 282
12.4 創建Java線程 283
12.5 線程的優先級 284
12.6 守護線程 286
12.7 線程的休眠 287
12.8 線程同步synchronized 289
12.9 電腦網絡 291
12.10 套接字 292
12.11 網絡地址 293
12.12 TCP通信編程 294
12.13 UDP通信編程 297
12.14 廣播通信 298