本書是一本系統(tǒng)全面、實用性強的Java編程入門教材,旨在幫助初學(xué)者從零開始掌握J(rèn)ava語言的核心知識與編程技能。本書首先介紹了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)境項目(招標(biāo)編號: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平臺的標(biāo)準(zhǔn)化規(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中的標(biāo)識符	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