本書是一本以產(chǎn)教融合為核心、以企業(yè)真實項目為載體的Java編程實戰(zhàn)教材。全書共12章,以"云醫(yī)院"系統(tǒng)開發(fā)為主線,將Java語言的核心知識點融入實際應用場景,通過理論與實踐相結合的方式,幫助讀者系統(tǒng)掌握Java編程技能,并培養(yǎng)其解決復雜工程問題的能力。書中從Java基礎語法入手,逐步深入講解程序流程控制、數(shù)組與字符串、面向對象編程、繼承與多態(tài)、異常處理、集合框架、文件操作、多線程與并發(fā)等核心內容,并結合Java新特性拓展技術視野。全書內容由淺入深,從基礎語法到綜合項目開發(fā)循序漸進,配合配套實驗指導,確保讀者能夠真正學以致用。
范洪輝,博士,教授,碩士研究生導師。江蘇省青藍工程學術帶頭人培養(yǎng)人選,江蘇省"六大人才高峰計劃”培養(yǎng)人選,中國人工智能學會智能服務專委會委員,江蘇省圖形圖像專委會委員,江蘇省不確實性人工智能專委會委員,江蘇省"十三五”重點建設學科計算機科學與技術學科方向帶頭人,校青年示范科技創(chuàng)新團隊負責人。2005年5月至2011年3月留學日本山形大學,獲工學碩士、博士學位,目前主要研究方向為模式識別、機器學習。主持國家自然科學基金項目1項、江蘇省科技計劃項目1項、江蘇省教育廳自然科學基金面上項目等市廳級項目5項。發(fā)表SCI、EI論文30余篇、授權國家發(fā)明專利3項、實用新型專利與軟件著作權11項。
第1章 初識Java—走進編程的新世界 1
1.1 Java簡介與云醫(yī)院系統(tǒng)開發(fā)基礎 1
1.1.1 Java技術概述 1
1.1.2 Java的發(fā)展史 3
1.1.3 Java語言的特點 3
1.1.4 云醫(yī)院系統(tǒng)對Java的需求 5
1.2 Java的開發(fā)和執(zhí)行環(huán)境 6
1.2.1 JDK的下載與安裝 6
1.2.2 Java的環(huán)境搭建 7
1.2.3 Java項目結構初識 9
1.3 Java開發(fā)工具IntelliJ IDEA 10
1.3.1 IntelliJ IDEA簡介 10
1.3.2 IntelliJ IDEA開發(fā)Java程序 13
1.4 云醫(yī)院項目的初步搭建 14
1.4.1 項目技術選型 14
1.4.2 項目結構規(guī)劃 16
小結 17
習題 17
第2章 Java的基本數(shù)據(jù)類型與操作—構建云醫(yī)院信息的基石 18
2.1 數(shù)據(jù)的基石:Java的基本數(shù)據(jù)類型 18
2.1.1 數(shù)據(jù)的聲明與定義 18
2.1.2 標識符與關鍵字:數(shù)據(jù)聲明的規(guī)范 19
2.1.3 數(shù)據(jù)類型的分類 20
2.1.4 數(shù)據(jù)類型的轉換 23
2.1.5 數(shù)據(jù)類型在云醫(yī)院中與患者信息的結合 25
2.1.6 Java的代碼結構 26
2.2 數(shù)據(jù)值的設定:云醫(yī)院中的常量與變量 27
2.2.1 常量與藥品信息參數(shù)設定 28
2.2.2 變量與患者體溫特征的變化 28
2.3 運算符與表達式:云醫(yī)院中的邏輯處理 29
2.3.1 運算符:掛號費用計算 29
2.3.2 表達式:診斷信息確認 34
2.4 注釋 35
小結 37
習題 38
實驗一 餐飲后臺管理系統(tǒng)—基本數(shù)據(jù)類型和運算符 39
實驗目標 39
實驗任務 39
第3章 流程控制—讓云醫(yī)院系統(tǒng)更加“聰明” 41
3.1 順序結構:處理掛號流程 41
3.2 分支結構:決策在云醫(yī)院中的應用 42
3.2.1 If應對預約掛號問題 42
3.2.2 switch與患者掛號科室的選擇 44
3.3 循環(huán)結構:自動化處理云醫(yī)院任務 46
3.3.1 while與定時檢查患者體溫 46
3.3.2 do-while與while的差異 47
3.3.3 for循環(huán)與多位患者信息采集 48
3.3.4 患者監(jiān)測中的break與 continue 49
小結 51
習題 51
實驗二 餐飲后臺管理系統(tǒng)—控制流語句 51
實驗目標 51
實驗任務 52
第4章 數(shù)組與字符串—整理與閱讀云醫(yī)院信息的利器 53
4.1 數(shù)組在云醫(yī)院中的應用:患者信息管理 53
4.1.1 一維數(shù)組:體溫記錄 54
4.1.2 二維數(shù)組:記錄時刻與信息的綁定 55
4.1.3 Arrays類的優(yōu)化 57
4.2 字符串處理:優(yōu)化云醫(yī)院中的文本信息 57
4.2.1 字符串的創(chuàng)建 58
4.2.2 字符串String類的操作 58
4.2.3 字符串StringBuffer類的操作 63
4.2.4 格式化字符串 66
4.2.5 格式化日期和時間 67
4.2.6 病歷信息采集與處理 70
小結 71
習題 72
實驗三 餐飲后臺管理系統(tǒng)—數(shù)組和字符串 72
實驗目標 72
實驗任務 72
第5章 面向對象編程—構建云醫(yī)院系統(tǒng)的核心模塊 74
5.1 類的設計:云醫(yī)院中的實體與行為 74
5.1.1 患者類定義 75
5.1.2 類中的成員變量 76
5.1.3 類中的成員方法 77
5.2 對象創(chuàng)建與使用:云醫(yī)院系統(tǒng)的具化 78
5.2.1 患者類對象創(chuàng)建 79
5.2.2 對象的使用 81
5.2.3 對象間的數(shù)據(jù)交互 82
5.3 static關鍵字 84
5.3.1 類變量 84
5.3.2 類方法 85
5.4 this關鍵字 87
5.5 包的概念 88
5.5.1 包語句 88
5.5.2 包引用 89
5.6 封裝與訪問權限:保護云醫(yī)院數(shù)據(jù)安全 90
5.6.1 訪問權限修飾符 90
5.6.2 封裝對患者信息的保護 91
小結 93
習題 94
實驗四 餐飲后臺管理系統(tǒng)—面向對象編程基礎 94
實驗目標 94
實驗任務 95
第6章 繼承與多態(tài)—云醫(yī)院系統(tǒng)的擴展與維護 97
6.1 繼承機制:構建云醫(yī)院系統(tǒng)的層級結構 97
6.1.1 子類、父類與患者信息 97
6.1.2 繼承的實現(xiàn) 100
6.1.3 成員變量的隱藏與方法的重寫 101
6.1.4 向上轉型 103
6.2 多態(tài)的應用:云醫(yī)院中的多元化組合 105
6.2.1 多態(tài)的概念 105
6.2.2 多態(tài)的實現(xiàn) 105
6.3 抽象類與接口 107
6.3.1 抽象類與抽象方法 107
6.3.2 接口的聲明與使用 109
6.3.3 接口回調 112
6.3.4 接口做參數(shù) 113
小結 115
習題 116
實驗五 餐飲后臺管理系統(tǒng)—繼承與多態(tài) 116
實驗目標 116
實驗任務 116
第7章 異常處理—讓云醫(yī)院系統(tǒng)更加穩(wěn)健 118
7.1 異常處理機制:確保云醫(yī)院系統(tǒng)穩(wěn)定運行 118
7.1.1 Java中常見的系統(tǒng)異常類型 118
7.1.2 異常捕獲與處理 119
7.1.3 throw和throws語句 122
7.2 自定義異常:增強云醫(yī)院系統(tǒng)的異常處理能力 123
7.2.1 數(shù)據(jù)內存溢出處理 123
7.2.2 信息存儲與讀取異常分析 125
7.3 內部類 128
7.3.1 內部類的概念 128
7.3.2 匿名內部類 129
小結 130
習題 130
實驗六 餐飲后臺管理系統(tǒng)—包和異常處理 131
實驗目標 131
實驗任務 131
第8章 集合框架—云醫(yī)院數(shù)據(jù)的高效管理 133
8.1 集合的概述和分類 133
8.2 Collection集合 134
8.2.1 Collection介紹 134
8.2.2 Collection集合的常用方法 135
8.2.3 Collection遍歷方法及其在云醫(yī)院數(shù)據(jù)處理中的應用 136
8.3 List集合 140
8.3.1 List集合的常用方法 141
8.3.2 List集合的遍歷方式 141
8.3.3 ArrayList集合底層原理 142
8.3.4 LinkedList集合底層原理 143
8.3.5 LinkedList集合的特性及其在云醫(yī)院中的應用場景 144
8.4 Set集合 147
8.4.1 認識Set集合的特點 147
8.4.2 HashSet集合底層原理 148
8.4.3 HashSet集合去重原理 149
8.4.4 LinkedHashSet集合去重原理 150
8.4.5 TreeSet集合 151
8.5 Collections工具類及其在云醫(yī)院數(shù)據(jù)處理中的應用 154
8.6 Map集合 156
8.6.1 Map集合概述 156
8.6.2 Map集合常用方法及實例分析 157
8.6.3 Map集合常用遍歷方法一 157
8.6.4 Map集合常用遍歷方法二 158
8.6.5 Map集合常用遍歷方法三 159
小結 160
習題 160
實驗七 餐飲后臺管理系統(tǒng)—集合框架 161
實驗目標 161
實驗任務 161
第9章 文件操作—云醫(yī)院數(shù)據(jù)的備份與恢復 163
9.1 文件處理 163
9.1.1 File類簡介 163
9.1.2 使用File類 165
9.2 流的基本概念 166
9.2.1 輸入/輸出流 166
9.2.2 Java的標準輸入/輸出流 169
9.3 流的分類 170
9.3.1 文件字節(jié)流 170
9.3.2 文件字符流 172
9.3.3 過濾器流 174
9.3.4 字符緩沖流 175
9.3.5 轉換流 178
9.3.6 對象流 179
9.4 文件的隨機訪問 181
9.5 云醫(yī)院的醫(yī)護信息讀取 183
小結 185
習題 185
實驗八 餐飲后臺管理系統(tǒng)—輸入/輸出流與文件操作 186
實驗目標 186
實驗任務 186
第10章 多線程與并發(fā)編程—提升云醫(yī)院系統(tǒng)的響應速度 188
10.1 線程的概念 188
10.2 創(chuàng)建任務和線程 189
10.3 Thread類的深入 191
10.4 線程池 194
10.5 線程同步 195
10.5.1 synchronized關鍵字 197
10.5.2 線程同步的必要性與實現(xiàn)方式 197
10.6 利用加鎖同步 198
10.7 線程間協(xié)作 199
10.8 線程的狀態(tài) 203
10.9 云醫(yī)院與線程密不可分 203
10.9.1 線程在云醫(yī)院中的作用 204
10.9.2 線程在云醫(yī)院中的實現(xiàn) 204
小結 204
習題 205
實驗九 餐飲后臺管理系統(tǒng)—多線程和并發(fā) 205
實驗目標 205
實驗任務 205
第11章 Java的新特性 207
11.1 Java各版本特性 207
11.1.1 各版本新特性概述 207
11.1.2 常用特性說明 209
11.2 云醫(yī)院對Java新特性的應用 212
小結 213
習題 214
第12章 綜合項目—餐飲后臺管理系統(tǒng) 215
12.1 餐飲后臺管理系統(tǒng)概述 215
12.1.1 功能設計 215
12.1.2 角色設計 216
12.2 需求分析 216
12.2.1 管理員需求分析 216
12.2.2 商家需求分析 216
12.3 系統(tǒng)設計與架構 217
12.3.1 系統(tǒng)設計概述 217
12.3.2 系統(tǒng)架構設計 217
12.3.3 系統(tǒng)模塊設計 217
12.3.4 數(shù)據(jù)庫設計 218
12.3.5 系統(tǒng)交互流程 219
12.4 餐飲后臺管理系統(tǒng)的具體功能 219
12.4.1 JDBC與數(shù)據(jù)庫連接工具類實現(xiàn) 219
12.4.2 實體類設計 221
12.4.3 接口與實現(xiàn)方法 223
12.4.4 主程序實現(xiàn) 227
12.4.5 系統(tǒng)測試與部署 231
12.4.6 維護與優(yōu)化 232
小結 233
習題 234