本書是一本系統(tǒng)全面、實用性強的Java編程入門教材,旨在幫助初學(xué)者從零開始掌握Java語言的核心知識與編程技能。本書首先介紹了Java的歷史、特點及開發(fā)環(huán)境的搭建,包括JDK的安裝與配置、Eclipse等工具的使用;隨后詳細講解Java的基本語法、變量與常量、運算符與控制結(jié)構(gòu),幫助讀者快速入門。在面向?qū)ο缶幊滩糠郑瑫猩钊胩接懥祟惻c對象、封裝、繼承、多態(tài)、抽象類、接口以及內(nèi)部類等核心概念,并結(jié)合常用類的實際應(yīng)用,強化理論與實踐的結(jié)合。本書還涵蓋了Java的高級特性,包括數(shù)組與集合框架、異常處理機制、多線程編程、輸入輸出與文件管理、對象序列化等內(nèi)容。最后,書中通過實際案例介紹了數(shù)據(jù)庫編程(JDBC)、圖形用戶界面(Swing)設(shè)計以及網(wǎng)絡(luò)編程(TCP/UDP通信),使讀者能夠?qū)⑺鶎W(xué)知識應(yīng)用于實際開發(fā)中。全書配有大量代碼示例、圖表和流程圖,每章還附有習(xí)題,幫助讀者鞏固知識并提升編程能力。
張亞楠,博士,副教授,哈爾濱理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,碩士生導(dǎo)師。主要研究方向為強化學(xué)習(xí)、自編程、參數(shù)自更新,主持工業(yè)和信息化部重點任務(wù)"2023 年工業(yè)機器人實時操作系統(tǒng)及集成開發(fā)環(huán)境項目(招標編號:2340STCZB1929)”子任務(wù)"工藝模型參數(shù)自學(xué)習(xí)及模型自更新方法研究”;主編和參與編寫《ROS2源代碼分析與工程應(yīng)用》(清華大學(xué)出版社)等教材。
第1章 Java簡介 1
1.1 Java的歷史與特點 1
1.1.1 Java的歷史 1
1.1.2 Java的特點 1
1.2 Java平臺 3
1.2.1 Java平臺的組成 3
1.2.2 Java平臺的標準化規(guī)范 9
1.3 Java開發(fā)工具 15
1.3.1 集成開發(fā)環(huán)境 15
1.3.2 構(gòu)建工具 16
1.3.3 代碼版本控制工具 18
1.3.4 測試工具 18
1.4 JDK的安裝與環(huán)境變量的配置 20
1.4.1 下載和安裝JDK 20
1.4.2 配置環(huán)境變量 21
1.5 Eclipse開發(fā)工具 23
1.5.1 Eclipse的安裝與啟動 23
1.5.2 Eclipse開發(fā)程序示例 25
1.6 習(xí)題 27
第2章 Java的編程基礎(chǔ) 28
2.1 Java的基本語法 28
2.1.1 Java的基本語法格式 28
2.1.2 Java中的注釋 29
2.1.3 Java中的標識符 30
2.1.4 Java中的關(guān)鍵字 30
2.1.5 Java中的轉(zhuǎn)義字符 32
2.2 Java的變量與常量 34
2.2.1 Java變量的定義 34
2.2.2 Java變量的數(shù)據(jù)類型 35
2.2.3 Java變量的類型轉(zhuǎn)換 37
2.2.4 Java變量的類型 38
2.2.5 Java常量 40
2.2.6 引用數(shù)據(jù)類型 42
2.3 運算符與表達式 42
2.3.1 運算符 42
2.3.2 表達式 45
2.3.3 運算符的注意事項與優(yōu)化 46
2.4 控制結(jié)構(gòu) 48
2.4.1 條件控制結(jié)構(gòu) 48
2.4.2 循環(huán)控制結(jié)構(gòu) 54
2.4.3 跳轉(zhuǎn)控制結(jié)構(gòu) 59
2.4.4 高級控制結(jié)構(gòu) 61
2.5 習(xí)題 62
第3章 面向?qū)ο缶幊?63
3.1 類與對象 63
3.1.1 類與對象的概念 63
3.1.2 定義類與創(chuàng)建對象 64
3.2 構(gòu)造函數(shù) 67
3.2.1 構(gòu)造函數(shù)的定義 67
3.2.2 構(gòu)造函數(shù)的類型 69
3.2.3 構(gòu)造函數(shù)的重載 71
3.2.4 this關(guān)鍵字 72
3.2.5 構(gòu)造函數(shù)的最佳實踐 73
3.2.6 實例初始化塊 74
3.2.7 對象的構(gòu)造過程 75
3.3 封裝、繼承與多態(tài) 76
3.3.1 封裝 76
3.3.2 繼承 84
3.3.3 多態(tài) 92
3.4 抽象類 95
3.4.1 抽象類的定義 95
3.4.2 抽象類的特性 96
3.4.3 抽象類的實現(xiàn) 96
3.4.4 抽象類的實例 98
3.5 接口 100
3.5.1 接口的基本概念 100
3.5.2 接口的實現(xiàn)與使用 100
3.5.3 接口的特性 101
3.5.4 接口與抽象類的區(qū)別 103
3.5.5 Compareable和Coloneable接口 105
3.6 內(nèi)部類 109
3.6.1 內(nèi)部類的定義 109
3.6.2 內(nèi)部類的類型 110
3.6.3 內(nèi)部類的生命周期和作用域 113
3.6.4 選擇和使用內(nèi)部類 115
3.7 Java中的常用類 116
3.7.1 Object類 116
3.7.2 String類與StringBuilder類 119
3.7.3 Scanner類 122
3.7.4 模式匹配 125
3.7.5 Date類 129
3.7.6 Calendar類 131
3.7.7 Math類 134
3.8 習(xí)題 137
第4章 數(shù)組與集合框架 141
4.1 數(shù)組 141
4.1.1 數(shù)組的基本概念 141
4.1.2 數(shù)組的創(chuàng)建與初始化 141
4.1.3 數(shù)組的基本操作 142
4.1.4 多維數(shù)組 150
4.2 集合框架 153
4.2.1 集合框架的主要接口與實現(xiàn)類 153
4.2.2 泛型與集合框架 154
4.3 List接口及其實現(xiàn) 155
4.3.1 List 接口的定義 155
4.3.2 List 接口的主要方法 156
4.3.3 List 接口的實現(xiàn)類 157
4.4 Set接口及其實現(xiàn) 163
4.4.1 Set 接口的定義 163
4.4.2 HashSet 類的實現(xiàn) 164
4.4.3 TreeSet 類的實現(xiàn) 166
4.4.4 HashSet 類和 TreeSet 類的對比 167
4.5 Map接口及其實現(xiàn) 168
4.5.1 Map 接口的定義 168
4.5.2 HashMap類 169
4.5.3 TreeMap類 171
4.5.4 HashMap 類和 TreeMap 類的對比 173
4.6 習(xí)題 174
第5章 異常處理 175
5.1 異常類與異常對象 175
5.1.1 異常類 175
5.1.2 異常對象 178
5.1.3 throw關(guān)鍵字和throws關(guān)鍵字 179
5.2 try-catch-finally 語句 181
5.2.1 語法結(jié)構(gòu) 181
5.2.2 異常的傳播 184
5.2.3 try-catch-finally 語句使用的注意事項 185
5.3 自定義異常 186
5.4 習(xí)題 188
第6章 多線程編程 189
6.1 線程 189
6.1.1 線程概述 189
6.1.2 創(chuàng)建線程 194
6.1.3 線程的生命周期 199
6.1.4 線程的應(yīng)用場景 208
6.2 線程同步與通信 209
6.2.1 線程同步 209
6.2.2 線程通信 216
6.3 習(xí)題 221
第7章 輸入/輸出與文件管理 222
7.1 流 223
7.1.1 字節(jié)流 224
7.1.2 字符流 233
7.1.3 節(jié)點流和過濾流 242
7.2 文件的管理 244
7.2.1 File類 245
7.2.2 Files類 247
7.2.3 錯誤處理與異常捕獲 250
7.3 對象序列化 252
7.4 習(xí)題 258
第8章 數(shù)據(jù)庫編程 259
8.1 JDBC接口 259
8.1.1 JDBC的基本工作流程 260
8.1.2 JDBC的架構(gòu) 261
8.2 連接數(shù)據(jù)庫 263
8.2.1 加載數(shù)據(jù)庫驅(qū)動 263
8.2.2 獲取數(shù)據(jù)庫連接 267
8.3 執(zhí)行SQL語句 270
8.3.1 SQL語句概述 270
8.3.2 使用Statement執(zhí)行SQL語句 271
8.4 處理結(jié)果集 280
8.4.1 ResultSet對象 280
8.4.2 遍歷結(jié)果集 283
8.5 習(xí)題 285
第9章 圖形用戶界面 287
9.1 Swing簡介 287
9.1.1 Swing基本概念 287
9.1.2 Swing與AWT的區(qū)別 290
9.2 創(chuàng)建窗口與面板 290
9.2.1 創(chuàng)建JFrame窗口 290
9.2.2 創(chuàng)建面板 293
9.2.3 嵌套面板 295
9.2.4 多面板的布局管理器組合 296
9.2.5 組件的常用屬性 297
9.3 處理事件 300
9.3.1 事件的基本概念 300
9.3.2 事件監(jiān)聽器 301
9.3.3 事件對象 305
9.3.4 事件適配器 306
9.4 習(xí)題 307
第10章 網(wǎng)絡(luò)編程 309
10.1 核心類與接口 309
10.1.1 java.net包 309
10.1.2 Socket類 310
10.1.3 ServerSocket類 312
10.1.4 DatagramSocket類 313
10.1.5 java.nio包 314
10.2 TCP網(wǎng)絡(luò)通信編程 317
10.2.1 Java TCP通信基本概念 317
10.2.2 Socket類與ServerSocket類詳解 319
10.2.3 TCP通信實例 320
10.3 UDP網(wǎng)絡(luò)通信編程 323
10.3.1 Java UDP通信基本概念 323
10.3.2 DatagramSocket實現(xiàn)UDP Socket 325
10.3.3 UDP通信實例 326
10.4 習(xí)題 329