本書以實(shí)際工作案例為依托,從Java程序設(shè)計(jì)基本的理論知識出發(fā),重點(diǎn)突出Java程序設(shè)計(jì)的基本語法規(guī)則及相關(guān)概念,從初學(xué)者的角度,以豐富的案例進(jìn)行講解分析,用通俗易懂的語言介紹Java程序設(shè)計(jì)中涉及的技術(shù)。全書分為11章,內(nèi)容包括Java程序設(shè)計(jì)入門、Java編程基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、多線程、Java API、集合類、輸入和輸出、圖形用戶界面(GUI)、網(wǎng)絡(luò)編程、JDBC數(shù)據(jù)庫編程、綜合案例。本書可作為應(yīng)用型本科院校、高職高專院校計(jì)算機(jī)及相關(guān)專業(yè)的Java程序設(shè)計(jì)課程的教材,也可作為Java程序設(shè)計(jì)人員、Java初學(xué)者的參考書。
張仁忠,教授,博士生導(dǎo)師。中國系統(tǒng)仿真學(xué)會會員、中國自動化學(xué)會高級會員,曾任中國造船學(xué)會電子信息技術(shù)委員會委員、黑龍江省系統(tǒng)工程學(xué)會理事長。哈爾濱工程大學(xué)本科教學(xué)主講教師,研究生教學(xué)優(yōu)秀教師,并多次被評為研究生優(yōu)秀指導(dǎo)教師。駱金維,副教授,廣東創(chuàng)新科技職業(yè)學(xué)院信息工程學(xué)院副院長,中國計(jì)算機(jī)學(xué)會會員,2017年獲得廣東創(chuàng)新科技職業(yè)學(xué)院教學(xué)名師。
第1章 Java程序設(shè)計(jì)入門 1
1.1 Java概述 1
1.1.1 Java的發(fā)展歷史 1
1.1.2 Java的特點(diǎn) 2
1.1.3 Java的版本 2
1.2 Java開發(fā)環(huán)境的配置 3
1.2.1 JDK概述 3
1.2.2 JDK安裝 4
1.2.3 環(huán)境變量配置 5
1.2.4 測試JDK配置 7
1.3 Java程序運(yùn)行機(jī)制 8
1.3.1 初識Java程序 8
1.3.2 Java的關(guān)鍵字 10
1.3.3 Java常用的基本工具 10
1.4 Java開發(fā)工具 11
1.5 Java API文檔 12
1.6 本章習(xí)題 14
第2章 Java編程基礎(chǔ) 16
2.1 Java基本語法 16
2.1.1 Java程序的基本格式 16
2.1.2 標(biāo)識符和關(guān)鍵字 17
2.1.3 分隔符 18
2.2 常量和變量 19
2.2.1 數(shù)據(jù)類型 19
2.2.2 常量 19
2.2.3 變量 20
2.2.4 基本類型 21
2.2.5 字符串 23
2.3 Java基本運(yùn)算符 23
2.3.1 算術(shù)運(yùn)算符 24
2.3.2 關(guān)系運(yùn)算符 25
2.3.3 位運(yùn)算符 26
2.3.4 邏輯運(yùn)算符 27
2.3.5 賦值運(yùn)算符 27
2.3.6 條件運(yùn)算符 29
2.3.7 運(yùn)算符優(yōu)先級 30
2.4 程序的流程控制 30
2.4.1 順序結(jié)構(gòu) 30
2.4.2 分支結(jié)構(gòu) 31
2.4.3 循環(huán)結(jié)構(gòu) 34
2.4.4 其他控制語句 37
2.5 數(shù)組 40
2.5.1 數(shù)組聲明 40
2.5.2 數(shù)組創(chuàng)建 40
2.5.3 數(shù)組元素的使用 42
2.5.4 數(shù)組的遍歷 42
2.5.5 Arrays類 43
2.6 方法 43
2.6.1 方法的定義 43
2.6.2 方法的調(diào)用 44
2.6.3 參數(shù)傳遞 45
2.6.4 方法重載 46
2.7 本章習(xí)題 47
第3章 面向?qū)ο蟪绦蛟O(shè)計(jì) 49
3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)機(jī)制 49
3.1.1 對象 50
3.1.2 封裝 50
3.1.3 繼承 50
3.1.4 多態(tài) 50
3.2 類與對象 51
3.2.1 類的聲明 51
3.2.2 創(chuàng)建和使用對象 53
3.3 構(gòu)造方法 55
3.4 包 56
3.4.1 包的概念 56
3.4.2 Java的常用包 57
3.5 封裝 58
3.5.1 理解封裝 58
3.5.2 訪問修飾符 58
3.6 繼承 59
3.6.1 繼承的特點(diǎn) 59
3.6.2 重寫父類的方法 61
3.7 多態(tài) 62
3.8 內(nèi)部類 64
3.8.1 非靜態(tài)內(nèi)部類 65
3.8.2 靜態(tài)內(nèi)部類 65
3.9 this關(guān)鍵字 65
3.10 static關(guān)鍵字 66
3.11 final關(guān)鍵字 67
3.12 抽象類與接口 68
3.12.1 抽象類 68
3.12.2 抽象方法和抽象類 69
3.12.3 接口的概念和定義 70
3.12.4 接口的實(shí)現(xiàn) 71
3.12.5 接口和抽象類 71
*3.13 垃圾回收 72
3.13.1 對象在內(nèi)存中的狀態(tài) 72
3.13.2 強(qiáng)制垃圾回收 73
3.14 異常 73
3.15 本章習(xí)題 75
第4章 多線程 78
4.1 線程概述 78
4.1.1 進(jìn)程 78
4.1.2 線程 79
4.2 線程創(chuàng)建 80
4.2.1 繼承Thread類 80
4.2.2 實(shí)現(xiàn)Runnable接口 82
4.2.3 兩種實(shí)現(xiàn)多線程方式的對比 83
4.3 線程生命周期及控制 85
4.4 線程調(diào)度 87
4.4.1 線程優(yōu)先級 87
4.4.2 線程休眠 89
4.4.3 線程讓步 91
4.4.4 線程插隊(duì) 92
4.5 多線程同步 93
4.5.1 線程安全問題 93
4.5.2 同步代碼塊 94
4.5.3 同步方法 96
4.5.4 死鎖問題 98
4.6 多線程通信 100
4.7 本章習(xí)題 101
*第5章 Java API 104
5.1 API的基本概念 104
5.2 Object類 105
5.3 基本類型的封裝類 105
5.4 String類和StringBuffer類 106
5.5 System類和Runtime類 107
5.6 Math類和Random類 108
5.6.1 Math類 108
5.6.2 Random類 110
5.7 Date類、Calendar類、DateFormat類 113
5.7.1 Date類 113
5.7.2 Calendar類 114
5.7.3 DateFormat類 114
5.8 本章習(xí)題 115
第6章 集合類 117
6.1 集合類的基本概念 117
6.2 Collection接口 118
6.3 List接口 119
6.3.1 List接口簡介 119
6.3.2 ArrayList集合 119
6.3.3 LinkedList集合 120
6.4 集合遍歷 122
6.4.1 Iterator接口 122
6.4.2 foreach循環(huán) 123
6.5 Set接口 126
6.5.1 Set接口簡介 126
6.5.2 HashSet集合 126
6.6 Map接口 130
6.6.1 Map接口簡介 130
6.6.2 HashMap集合 131
6.6.3 Properties集合 135
6.6.4 泛型 136
6.7 Arrays工具類 138
6.8 Collections工具類 142
6.9 本章習(xí)題 145
第7章 輸入和輸出 148
7.1 輸入和輸出的基本概念 148
7.2 字節(jié)流 149
7.2.1 字節(jié)輸出流OutputStream 149
7.2.2 字節(jié)輸入流InputStream 151
7.3 字符流 151
7.3.1 字符輸出流Writer 151
7.3.2 字符輸入流Reader 153
7.4 Scanner類 154
*7.5 對象序列化 156
7.6 File類 159
7.7 數(shù)據(jù)操作流 161
7.8 本章習(xí)題 165
*第8章 圖形用戶界面(GUI) 168
8.1 AWT概述 168
8.1.1 Window類 170
8.1.2 Panel類 171
8.2 AWT事件處理 171
8.3 常用事件分類 172
8.3.1 窗體事件 173
8.3.2 鼠標(biāo)事件 174
8.3.3 鍵盤事件 176
8.3.4 動作事件 177
8.4 布局管理器 177
8.4.1 FlowLayout 177
8.4.2 BorderLayout 178
8.4.3 GridLayout 180
8.4.4 GridBagLayout 181
8.4.5 CardLayout 183
8.5 AWT繪圖 186
8.6 Swing概述 187
8.6.1 JFrame 188
8.6.2 JDialog 189
8.6.3 JPanel和JScrollPane 191
8.6.4 按鈕 194
8.6.5 文本 197
8.6.6 下拉列表框 200
8.6.7 菜單 200
8.7 本章習(xí)題 203
*第9章 網(wǎng)絡(luò)編程 206
9.1 網(wǎng)絡(luò)通信協(xié)議 206
9.2 TCP/IP協(xié)議 207
9.3 UDP協(xié)議 207
9.3.1 使用DatagramSocket發(fā)送和接收數(shù)據(jù) 208
9.3.2 使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播 211
9.4 本章習(xí)題 212
第10章 JDBC數(shù)據(jù)庫編程 214
10.1 JDBC概述 214
10.2 JDBC常用API 216
10.3 連接數(shù)據(jù)庫實(shí)例 216
10.4 PreparedStatement對象 222
10.5 ResultSet對象 223
10.6 本章習(xí)題 225
*第11章 綜合案例 229
11.1 案例分析和設(shè)計(jì) 229
11.1.1 任務(wù)描述 229
11.1.2 運(yùn)行結(jié)果 229
11.1.3 任務(wù)目標(biāo) 230
11.1.4 實(shí)現(xiàn)思路 230
11.2 案例實(shí)施 231
11.2.1 定義系統(tǒng)歡迎界面的窗體類 231
11.2.2 定義系統(tǒng)歡迎界面的測試類 233
11.2.3 定義超市貨物管理界面的窗體類 235
11.2.4 定義超市貨物管理界面的測試類 239
11.2.5 編寫水果項(xiàng)的實(shí)體類 240
11.2.6 定義存儲數(shù)據(jù)類 241
11.2.7 分層編寫 242
11.2.8 創(chuàng)建主界面操作類 247
11.2.9 定義main()方法類 247
11.3 本章習(xí)題 249
參考文獻(xiàn) 251