Java 編程講義
榮銳鋒、張晨光、殷晉、王向南、尹成
買這商品的人也買了...
相關主題
商品描述
《Java 編程講義》根據目前Java 開發領域的實際需求,從初學者角度出發,詳細講解了Java 技術的基礎知識。全書共15 章,包括Java 開發入門,Java 語言基礎,Java 控制結構,數組,面向對象編程,繼承和多態,抽象類、接口和內部類,異常處理,Java 常用類庫,集合與泛型,Lambda 表達式,輸入/輸出流,多線程,JDBC數據庫技術,網絡編程等內容。內容全面覆蓋Java 開發必備的基礎知識點,結合生活化案例展開講解,程序代碼給出了詳細的註釋,能夠使初學者輕松領會Java 技術精髓,快速掌握Java 開發技能。為了進一步便於教師與學生使用,本書配套了豐富的資源,包括隨書視頻、優質PPT 課件、源代碼資源、授課資源、習題、 測試題等。
作者簡介
AAA軟件教育成立於2007年,是Oracle公司(甲骨文,Java母公司)指定教育合作夥伴,專業從事高端軟件開發職業教育15年。長期以來,緊密結合軟件人才需求,以培養專業性、實戰型軟件開發人才為己任,成功助力數万學子順利進入IT行業,學員入職企業包括騰訊、阿里巴巴、拼多d、京東、百度、字節跳動、美團、新浪、網易、數獵天下等,被業界譽為“互聯網金領生產基地”。目前,AAA軟件教育已在北京、鄭州、深圳、武漢、瀋陽、上海等大型城市開設了直營教學中心和就業基地,同時與鄭州大學、河南大學、中原工學院等大學開展了“產教融合”的戰略合作。
目錄大綱
第1章 Java開發入門 1
1.1 Java概述 2
1.1.1 Java的由來與發展 2
1.1.2 Java語言的特點 3
1.2 Java開發環境搭建 4
1.2.1 JDK簡介 4
1.2.2 下載和安裝JDK 4
1.2.3 環境變量配置 5
1.2.4 測試開發環境搭建成功與否 8
1.2.5 JDK目錄詳細剖析 8
1.3 Java程序的開發步驟 9
1.3.1 編寫源代碼 9
1.3.2 編譯程序 10
1.3.3 運行程序 10
1.3.4 簡化的編譯運行流程 11
1.3.5 反編譯 11
1.4 Java虛擬機與垃圾回收 11
1.4.1 Java虛擬機JVM 12
1.4.2 垃圾回收機制 12
1.5 IntelliJ IDEA開發工具 13
1.5.1 IDEA概述 13
1.5.2 IDEA的安裝與啟動 13
1.5.3 使用IDEA進行程序開發 15
第2章 Java語言基礎 20
2.1 Java基本語法 21
2.1.1 Java語言的基本格式 21
2.1.2 Java關鍵字 21
2.1.3 Java標識符 22
2.1.4 Java註釋 22
2.1.5 Java編程風格 23
2.2 Java基本數據類型 24
2.2.1 整數類型 25
2.2.2 浮點類型 25
2.2.3 字符類型 26
2.2.4 布爾類型 26
2.3 Java中的變量與常量 26
2.3.1 變量及其聲明 26
2.3.2 常量及其聲明 27
2.3.3 var變量及其聲明 27
2.3.4 變量作用域 28
2.4 基本數據類型的轉換 28
2.4.1 自動類型轉換 28
2.4.2 強制類型轉換 29
2.5 運算符 29
2.5.1 算術運算符 30
2.5.2 算術混合運算的精度 32
2.5.3 關系運算符 33
2.5.4 邏輯運算符 34
2.5.5 賦值運算符 35
2.5.6 位運算符 36
2.5.7 條件運算符 39
2.5.8 運算符的優先級 39
2.6 數據存儲區與引用數據類型 40
2.6.1 棧存儲區 40
2.6.2 堆存儲區與引用數據類型 40
2.7 輸入和輸出 41
2.7.1 控制台輸出 41
2.7.2 Scanner獲取鍵盤數據 43
第3章 Java控制結構 45
3.1 Java程序結構 45
3.2 選擇語句 47
3.2.1 if條件語句 47
3.2.2 switch條件語句 52
3.3 循環語句 58
3.3.1 while循環語句 58
3.3.2 do-while循環語句 60
3.3.3 for循環語句 61
3.4 循環嵌套 63
3.5 跳轉語句 64
3.5.1 break語句 64
3.5.2 continue語句 68
3.5.3 return語句 70
第4章 數組 72
4.1 一維數組 72
4.1.1 一維數組的創建 73
4.1.2 數組元素的分配 74
4.1.3 數組元素的訪問 75
4.1.4 length的使用 75
4.1.5 使用foreach遍歷數組 76
4.1.6 基本類型數組的初始化 77
4.1.7 引用類型數組的初始化 78
4.2 二維數組 79
4.2.1 二維數組的創建 80
4.2.2 二維數組的內存分配 80
4.2.3 嵌套循環存取二維數組 82
4.2.4 非對稱型數組 83
4.3 數組的排序與查找 83
4.3.1 數組元素排序 84
4.3.2 數組元素的查找 85
第5章 面向對象編程 89
5.1 面向對象概述 90
5.2 類與對象 91
5.2.1 類與對象的關系 91
5.2.2 類的定義 92
5.2.3 成員變量 92
5.2.4 成員方法 92
5.2.5 類的UML圖 93
5.2.6 對象的創建與使用 94
5.2.7 成員變量與局部變量的區別 96
5.3 類的封裝 96
5.4 構造方法 98
5.5 方法重載 99
5.5.1 構造方法的重載 99
5.5.2 成員方法的重載 100
5.6 this關鍵字 101
5.6.1 this關鍵字的3種用法 101
5.6.2 this關鍵字調用構造方法的常見錯誤 103
5.7 static關鍵字 104
5.7.1 靜態變量 104
5.7.2 靜態方法 105
5.7.3 靜態代碼塊 105
5.8 包 106
5.8.1 包的概念和作用 106
5.8.2 創建包 107
5.8.3 導入包 107
5.8.4 常用的包 108
5.9 Java修飾符總結 108
5.9.1 訪問控制符 108
5.9.2 非訪問控制符 109
第6章 繼承和多態 110
6.1 類的繼承 111
6.1.1 繼承的概念 111
6.1.2 繼承的使用 111
6.2 方法重寫 112
6.3 super關鍵字 114
6.3.1 super訪問父類構造方法 114
6.3.2 super訪問父類成員變量和成員方法 116
6.4 final關鍵字 117
6.4.1 final修飾局部變量 117
6.4.2 final修飾成員變量 117
6.4.3 final修飾成員方法 118
6.4.4 final修飾類 119
6.5 多態 119
6.5.1 為什麽需要多態 120
6.5.2 多態的概念 120
6.5.3 多態的實現 121
6.5.4 對象類型轉換 122
6.6 Object類 124
6.6.1 equals()方法 124
6.6.2 getClass()方法 125
6.6.3 toString()方法 125
第7章 抽象類、接口和內部類 127
7.1 抽象類 127
7.2 接口 129
7.2.1 接口的定義 129
7.2.2 接口實現 130
7.2.3 接口的繼承 131
7.2.4 利用接口實現多重繼承 133
7.2.5 接口默認方法 134
7.2.6 接口實現多態 135
7.2.7 抽象類和接口的比較 136
7.3 內部類 137
7.3.1 成員內部類 137
7.3.2 局部內部類 138
7.3.3 靜態內部類 139
7.3.4 匿名內部類 140
第8章 異常處理 142
8.1 異常概述 143
8.2 異常的類型 143
8.2.1 異常類的體系結構 143
8.2.2 常見的異常類型 144
8.3 try-catch捕獲異常 145
8.4 finally進行清理 146
8.4.1 finally用來做什麽 147
8.4.2 在finally中使用return 148
8.5 throws關鍵字和throw關鍵字 149
8.5.1 使用throws關鍵字拋出異常 149
8.5.2 使用throw關鍵字拋出異常 150
8.6 異常處理的3種常用形式 151
8.6.1 第1種方式:分開捕獲 152
8.6.2 第2種方式:嵌套捕獲 152
8.6.3 第3種方式:聯動捕獲 153
8.7 自定義異常及異常丟失現象 154
8.7.1 自定義異常 154
8.7.2 異常丟失現象 156
第9章 Java常用類庫 158
9.1 String類 159
9.1.1 String類初始化 159
9.1.2 String類的常用方法 161
9.2 StringBuffer類 168
9.2.1 創建StringBuffer對象 168
9.2.2 StringBuffer類常用方法 169
9.3 日期時間類 170
9.3.1 Date類 170
9.3.2 Calendar類 172
9.3.3 LocalDate類和LocalTime類 173
9.3.4 LocalDateTime類 175
9.3.5 日期時間格式化類 176
9.4 系統相關類 181
9.4.1 System類 181
9.4.2 Runtime類 184
9.5 包裝類 185
9.5.1 數值型包裝類 185
9.5.2 Boolean類 187
9.5.3 Character類 188
9.6 數學相關類 188
9.6.1 Math類 189
9.6.2 BigInteger類 190
9.6.3 Random類 191
9.6.4 數字格式化 192
第10章 集合與泛型 196
10.1 Java集合概述 197
10.2 Collection接口 197
10.3 List接口 199
10.3.1 List接口簡介 199
10.3.2 ArrayList集合 199
10.3.3 LinkedList集合 200
10.4 Collection集合遍歷 201
10.4.1 Iterator遍歷集合 202
10.4.2 foreach循環遍歷集合 203
10.4.3 forEach遍歷集合 204
10.4.4 Predicate操作集合 204
10.5 Set接口 206
10.5.1 Set接口簡介 206
10.5.2 HashSet集合 206
10.5.3 TreeSet集合 209
10.6 Map接口 213
10.6.1 Map接口簡介 214
10.6.2 HashMap集合 214
10.6.3 Map集合遍歷 216
10.6.4 TreeMap集合 219
10.6.5 Properties集合 220
10.7 泛型 221
10.7.1 泛型的概念 221
10.7.2 泛型類聲明與使用 221
10.7.3 泛型在集合中的使用 223
10.8 集合常用工具類 224
10.8.1 Collections工具類 224
10.8.2 Arrays工具類 226
第11章 Lambda表達式 228
11.1 Lambda表達式入門 228
11.1.1 函數式編程思想 229
11.1.2 Lambda表達式語法 229
11.2 函數式接口 231
11.3 Lambda表達式的簡化形式 233
11.4 訪問變量 234
11.4.1 訪問成員變量 234
11.4.2 捕獲局部變量 235
11.5 方法引用 236
11.5.1 引用類的靜態方法 236
11.5.2 引用類的實例方法 237
11.5.3 引用對象的實例方法 238
11.5.4 引用構造方法 239
11.6 Lambda表達式調用Arrays的類方法 240
第12章 輸入/輸出流 242
12.1 I/O流概述 243
12.2 File類 244
12.2.1 File類及其常用方法 244
12.2.2 遍歷目錄下的文件 246
12.2.3 刪除文件及目錄 247
12.2.4 RandomAccessFile類 248
12.3 字節流 250
12.3.1 字節流概述 250
12.3.2 讀寫文件 252
12.3.3 文件復制 254
12.3.4 字節流的緩沖區 255
12.4 字符流 256
12.4.1 字符流概述 257
12.4.2 操作文件 257
12.4.3 轉換流 258
12.5 對象序列化方式 259
12.5.1 對象序列化概述 260
12.5.2 如何實現對象序列化的持久化 260
12.5.3 引用對象的序列化控制 262
第13章 多線程 267
13.1 線程概述 268
13.1.1 進程 268
13.1.2 線程 268
13.2 多線程的實現 269
13.2.1 繼承Thread類實現多線程 269
13.2.2 實現Runnable接口實現多線程 271
13.2.3 通過Callable接口和Future接口實現多線程 272
13.2.4 3種實現多線程方式的對比分析 274
13.2.5 後台線程 275
13.3 線程的生命周期 276
13.3.1 新建狀態和就緒狀態 277
13.3.2 運行狀態和阻塞狀態 278
13.3.3 死亡狀態 278
13.4 線程的調度 278
13.4.1 線程的優先級 279
13.4.2 線程休眠sleep() 280
13.4.3 線程讓步yield() 282
13.4.4 線程插隊join() 283
13.5 多線程同步 284
13.5.1 線程安全 284
13.5.2 多線程中的同步代碼塊 285
13.5.3 synchronized修飾的同步方法 287
13.5.4 生產者和消費者 288
第14章 JDBC數據庫技術 291
14.1 JDBC概述 292
14.1.1 什麽是JDBC 292
14.1.2 怎樣連接數據庫 292
14.2 JDBC常用API 294
14.2.1 Driver接口 294
14.2.2 DriverManager類 295
14.2.3 Connection接口 296
14.2.4 Statement接口 299
14.2.5 PreparedStatement接口 301
14.2.6 CallableStatement接口 303
14.2.7 ResultSet接口 304
14.3 JDBC事務 306
14.3.1 事務的概念 306
14.3.2 JDBC對事務的支持 307
14.3.3 使用事務實現批量更新 307
14.4 DAO模式 309
14.4.1 元數據 309
14.4.2 DatabaseMetaData接口 309
14.4.3 ResultSetMetaData接口 310
14.4.4 使用DAO模式 312
14.5 數據庫連接池技術 316
14.5.1 DBCP數據庫連接池技術 317
14.5.2 C3P0數據庫連接池技術 319
第15章 網絡編程 322
15.1 網絡編程基礎 323
15.1.1 網絡通信協議 323
15.1.2 IP地址和埠號 324
15.1.3 InetAddress工具類 325
15.1.4 URLDecoder類和URLEncoder類 326
15.1.5 URL、URLConenction和URLPermission 327
15.2 UDP通信 328
15.2.1 UDP概念 328
15.2.2 DatagramPacket類 329
15.2.3 DatagramSocket類 329
15.2.4 UDP網絡程序 330
15.2.5 UDP案例—聊天程序 332
15.3 TCP通信 334
15.3.1 TCP概念 334
15.3.2 ServerSocket類 335
15.3.3 Socket類 335
15.3.4 簡易TCP網絡程序 336
15.3.5 多線程的TCP網絡程序 338
15.3.6 TCP案例—模擬百度網盤文件快傳 341
15.4 代理服務器網絡編程 343
15.4.1 Proxy創建網絡連接 343
15.4.2 ProxySelector自動選擇代理服務器 345
15.5 HTTPClient 347
15.5.1 HTTPClient概念 347
15.5.2 如何發送同步GET請求 347
15.5.3 如何發送帶請求體的請求 348
15.5.4 如何發送異步請求 349
15.5.5 WebSocket接口 350