本書從初學者的角度出發(fā),由淺入深地講解了Java語言的相關內(nèi)容。全書共11章,主要介紹了Java開發(fā)環(huán)境的搭建及其運行機制、基本語法、面向對象編程思想、多線程、常用API、集合、I/O、網(wǎng)絡編程等內(nèi)容,采用通俗易懂的語言闡述抽象的概念,選用生活中密切相關的例子演示知識的運用,通過剖析案例、分析代碼含義、解決常見問題等方式進行講解。書中還添加了許多階段性任務來模擬程序開發(fā)過程,幫助初學者培養(yǎng)良好的編程習慣。
以知識脈絡為線索,以案例實踐為核心,以科學話題為拓展,讓學習者能在掌握基本程序設計技能的基礎上,提升思維方法,開闊知識眼界。
知識點全,重點難點突出。
部分項目是企業(yè)真實項目案例。
每章有習題和上機練習,方便教師布置作業(yè)并檢驗學習效果。配套資源較為豐富。
王靜紅,博士,三級教授,專業(yè)為計算機科學與技術,河北省有突出貢獻中青年專家,河北省新世紀三三三人才,河北省信息化專家委員會委員,河北省大數(shù)據(jù)學會秘書長,國際IEEE高級會員,中國人工智能學會專委會委員,石家莊市拔尖人才,石家莊市十佳青年教師,河北省人工智能學會理事,中國計算機CCF石家莊執(zhí)委主持的省科技攻關項目獲河北省科技進步二等獎。教學名師、學術帶頭人、中青年骨干教師。先后在《Pattern Recognition and Artificial Intelligence》、《Journal of Zhejiang University》、《計算機研究與發(fā)展》等國內(nèi)外科技刊物發(fā)表論文50多篇,其中30余篇被SCI、EI檢索收錄?蒲蟹较驗榇髷(shù)據(jù)與數(shù)據(jù)挖掘、人工智能、模式識別、計算機應用等。
第 1章 初識Java1
1.1 Java概述 1
1.1.1 什么是Java 1
1.1.2 Java語言的特點 1
1.2 Java開發(fā)環(huán)境配置 3
1.2.1 安裝JDK 3
1.2.2 JDK目錄介紹 3
1.2.3 配置環(huán)境變量 4
1.3 編寫第 一個Java程序 6
1.4 Java程序的運行機制 8
1.5 使用Eclipse開發(fā)工具編寫Java程序 9
本章小結 13
練習題 13
上機實戰(zhàn) 15
實戰(zhàn)1-1 編寫Java程序顯示個人基本信息 15
第 2章 Java編程基礎 16
2.1 Java的基本語法 16
2.1.1 Java代碼的基本格式 16
2.1.2 Java中的注釋 17
2.1.3 Java中的標識符 18
2.1.4 Java中的關鍵字 18
2.1.5 Java中的分隔符 19
2.2 常量與變量 19
2.2.1 常量 19
2.2.2 變量 20
2.2.3 基本數(shù)據(jù)類型 21
2.2.4 數(shù)據(jù)類型轉換 23
2.2.5 變量的作用域 25
2.3 表達式與運算符 26
2.3.1 表達式 26
2.3.2 運算符 26
2.3.3 鍵盤錄入 31
【任務2-1】打印超市購物清單 31
2.4 選擇結構 33
2.4.1 if語句 33
2.4.2 switch語句 37
2.5 循環(huán)結構 40
2.5.1 while循環(huán)語句 40
2.5.2 do…while循環(huán)語句 41
2.5.3 for循環(huán)語句 42
2.5.4 循環(huán)嵌套 43
2.5.5 跳轉語句 44
【任務2-2】猜數(shù)字游戲 45
2.6 方法 47
2.6.1 方法的概念 47
2.6.2 方法的定義 47
2.6.3 方法的調用 48
2.6.4 方法的重載 49
2.7 數(shù)組 50
2.7.1 數(shù)組的概念 50
2.7.2 數(shù)組的聲明及初始化 50
2.7.3 數(shù)組的常用操作 51
2.7.4 多維數(shù)組 55
【任務2-3】統(tǒng)計平均分功能 55
本章小結 56
練習題 57
上機實戰(zhàn) 58
實戰(zhàn)2-1 鐵路售票系統(tǒng)的余票查詢功能 58
實戰(zhàn)2-2 網(wǎng)站會員登錄功能 58
實戰(zhàn)2-3 課堂隨機點名器 59
第3章 面向對象(上) 60
3.1 類與對象 60
3.1.1 類與對象概述 61
3.1.2 類的定義 61
3.1.3 對象的創(chuàng)建與使用 61
3.1.4 類和對象的使用擴展 62
3.2 成員變量與局部變量 64
3.3 構造方法 65
3.3.1 構造方法的定義 65
3.3.2 構造方法的重載 67
3.4 包 69
3.4.1 聲明包 69
3.4.2 導入包 69
3.5 封裝 70
3.5.1 封裝的概述 71
3.5.2 類的封裝 71
3.5.3 this關鍵字 73
【任務3-1】計算長方形的周長與面積 75
3.5.4 static關鍵字 77
本章小結 81
練習題 81
上機實戰(zhàn) 84
實戰(zhàn)3-1 定義用戶類、課程類并對屬性進行封裝 84
實戰(zhàn)3-2 實現(xiàn)WorkShop在線學習系統(tǒng)的主菜單 84
實戰(zhàn)3-3 實現(xiàn)WorkShop在線學習系統(tǒng)的注冊功能 85
實戰(zhàn)3-4 實現(xiàn)WorkShop在線學習系統(tǒng)的登錄功能 86
實戰(zhàn)3-5 實現(xiàn)WorkShop在線學習系統(tǒng)的課程查詢功能 86
第4章 面向對象(下) 88
4.1 類的繼承 88
4.1.1 什么是繼承 88
4.1.2 如何實現(xiàn)繼承 89
4.1.3 重寫父類方法 90
4.2 方法重寫 91
4.3 super關鍵字 92
4.4 final關鍵字 95
4.5 抽象類和接口 96
4.5.1 抽象類 96
4.5.2 接口 97
【任務4-1】冒險者接口程序設計 99
4.6 多態(tài) 101
4.6.1 生活中的多態(tài) 101
4.6.2 Java中如何實現(xiàn)多態(tài) 102
4.6.3 類型轉換 104
4.6.4 類型驗證關鍵字instanceof 105
4.6.5 Object類 106
4.7 內(nèi)部類 106
4.7.1 內(nèi)部類的概述 107
4.7.2 內(nèi)部類的分類 107
本章小結 110
練習題 110
上機實戰(zhàn) 112
實戰(zhàn)4-1 模擬小哥快跑快遞物流系統(tǒng)功能 112
第5章 異常 113
5.1 異常的概述 113
5.1.1認識異!113
5.1.2 異常的分類 115
5.2 異常的處理機制 116
5.2.1 使try-catch-finally處理異!116
5.2.2 多重catch處理異!118
5.2.3 throws聲明異!120
5.2.4 自定義異!121
本章小結 123
練習題 123
上機實戰(zhàn) 124
實戰(zhàn)5-1 自定義成績異常處理 124
第6章 Java API 125
6.1 String、StringBuffer和StringBuilder類 125
6.1.1 String類初始化 125
6.1.2 String類常用方法 126
6.1.3 StringBuffer類 128
6.1.4 StringBuilder類 129
6.2 System類和Runtime類 130
6.2.1 System類的常用方法 130
6.2.2 Runtime類的常用方法 131
6.3 Math類和Random類 132
6.4 處理日期的類 133
6.4.1 Date類 133
6.4.2 Calendar類 134
6.5 包裝類 134
本章小結 136
練習題 136
上機實戰(zhàn) 137
實戰(zhàn)6-1 記錄一個子串在整串中出現(xiàn)的次數(shù) 137
第7章 集合框架和泛型 138
7.1 認識集合框架體系 138
7.2 Collection接口 139
7.3 List接口 139
7.3.1 ArrayList集合 140
7.3.2 LinkedList集合 141
7.4 Iterator迭代器 143
7.5 泛型 144
7.6 Set接口 145
7.6.1 Set接口簡介 145
7.6.2 HashSet集合 146
7.7 Map接口 149
7.7.1 Map接口簡介 149
7.7.2 HashMap集合 150
7.8 Collections類 153
本章小結 156
練習題 156
上機實戰(zhàn) 157
實戰(zhàn)7-1 使用HashMap存儲學生成績并遍歷輸出 157
實戰(zhàn)7-2 使用HashSet和ArrayList輸出10個1~20隨機數(shù) 157
實戰(zhàn)7-3 存儲學生信息并遍歷輸出 158
第8章 I/O 159
8.1 I/O流 159
8.1.1 I/O流的概述 159
8.1.2 I/O流的分類 159
8.2 字節(jié)流 159
8.2.1 字節(jié)流的概念 159
8.2.2 字節(jié)流讀寫文件 161
8.2.3 文件的復制 164
8.2.4 字節(jié)緩沖流 167
8.3 字符流 169
8.3.1 字符流概述 169
8.3.2 FileReader和FileWriter讀寫文件中的字符 170
8.3.3 字符緩沖流BufferedReader和BufferedWriter 171
8.3.4 轉換流 174
8.4 File類 176
8.4.1 File類概述 176
8.4.2 File類的常用方法 176
8.4.3 File類的使用 177
本章小結 184
練習題 185
上機實戰(zhàn) 186
實戰(zhàn)8-1 輸入課程信息存儲到磁盤文件 186
實戰(zhàn)8-2 簡易文件搜索程序 187
第9章 數(shù)據(jù)庫編程 189
9.1 什么是JDBC 189
9.2 JDBC常用API 190
9.2.1 Driver接口 190
9.2.2 DriverManager類 190
9.2.3 Connection接口 190
9.2.4 Statement接口 190
9.2.5 PreparedStatement接口 191
9.2.6 ResultSet接口 192
9.3 實現(xiàn)第 一個JDBC程序 192
9.4 PreparedStatement對象 196
9.5 ResulstSet對象 198
上機實戰(zhàn) 200
實戰(zhàn)9-1 WorkShop商品庫存管理系統(tǒng) 200
本章小結 201
練習題 201
第 10章 多線程 202
10.1 線程概述 202
10.1.1 什么是進程 202
10.1.2 什么是線程 203
10.2 在Java中實現(xiàn)多線程的方式 203
10.2.1 繼承Thread類 203
10.2.2 實現(xiàn)Runnable接口 205
10.2.3 繼承Thread類和實現(xiàn)Runnable
接口的區(qū)別 206
10.2.4 實現(xiàn)Callable接口 209
10.3 線程的生命周期 210
10.4 線程的常用方法 211
10.4.1 線程的優(yōu)先級 211
10.4.2 線程活動狀態(tài)判斷 212
10.4.3 線程休眠 213
10.4.4 線程讓步 215
10.4.5 線程插隊 216
10.5 多線程同步與死鎖 217
10.5.1 線程安全問題 217
10.5.2 同步代碼塊 218
10.5.3 線程死鎖 221
【任務10-1】銀行存取款程序設計 222
本章小結 224
練習題 224
上機實戰(zhàn) 226
實戰(zhàn)10-1 龜兔賽跑程序 226
第 11章 Java網(wǎng)絡編程 227
11.1 網(wǎng)絡通信基礎 227
11.1.1 網(wǎng)絡通信的意義 227
11.1.2 IP地址和端口號 227
11.1.3 網(wǎng)絡通信協(xié)議 228
11.2 IP地址的Java實現(xiàn) 229
11.2.1 java.net包 229
11.2.2 InetAddress類 229
11.3 UDP通信的Java實現(xiàn) 230
11.3.1 DatagramPacket類與
DatagramSocket類 230
11.3.2 UDP網(wǎng)絡程序 231
11.4 TCP通信的Java實現(xiàn) 233
11.4.1 ServerSocket類與Socket
類 233
11.4.2 TCP網(wǎng)絡程序 235
本章小結 236
練習題 237
上機實戰(zhàn) 237
實戰(zhàn)11-1 UDP兩端相互聊天程序 237
實戰(zhàn)11-2 TCP實現(xiàn)文件傳輸 237