內容簡介
Java是當前市面上常用的編程語言之一,是Web開發領域的領軍開發語言。本書以通俗易懂的語言、翔實生動的操作案例、精挑細選的使用技巧,指導初學者快速掌握Java開發的基礎知識與使用方法。本書主要包括Java語言基礎,Java語言基礎語法,使用條件語句,使用循環語句,數組,Java的面向對象,繼承、重載和接口,使用集合,常用的類庫,使用泛型,異常處理,I/O文件處理,使用Swing開發桌面程序,使用數據庫,使用多線程,圖書商城管理系統等內容。全書循序漸進、結構清晰,以實戰演練的方式介紹知識點,讓讀者一看就懂。
本書面向學習Java開發的初、中級用戶,適合無基礎又想快速掌握Java開發知識的讀者,同時對有經驗的Java使用者也有很高的參考價值,還可以作為高等院校專業課教材和社會培訓機構的培訓教材。
前 言
隨著電腦的推廣與普及,電腦已走進千家萬戶,成為人們日常生活、工作、娛樂和通信必不可少的工具。正因為如此,開發電腦程序成為一個很重要的市場需求。根據權威機構預測,在未來幾年,國內外的高層次軟件人才將處于供不應求的狀態。而Java作為一門功能強大的開發語言,一直在業界處于領軍地位。為了幫助大家快速地掌握Java這門編程語言的開發知識,以便在日常的學習和工作中學以致用,我們編寫了本書。
購買本書能學到什么
本書在編寫過程中以Java的基礎語法和常見應用為導向,深入貼合初學者的學習習慣,采用由淺入深、由易到難的方式講解,讀者還可以通過隨書贈送的多媒體視頻教學課程學習。全書結構清晰,知識豐富,主要包括以下幾方面的內容。
1. 基礎知識
第1~5章,逐一介紹Java語言基礎、Java語言基礎語法、使用條件語句、使用循環語句、數組,主要目的是讓讀者掌握Java的基礎知識。
2. 核心技術
第6~10章,循序漸進地介紹Java的面向對象,繼承、重載和接口,使用集合,常用的類庫,使用泛型等內容,這些內容都是學習Java所必須具備的核心語法知識。
3. 進階提高
第11~15章,介紹Java的核心應用知識,主要包括異常處理、I/O文件處理、使用Swing開發桌面程序、使用數據庫、使用多線程等相關知識及具體用法,并講解了各個知識點的使用技巧。
4. 綜合實戰
第16章通過一個圖書商城管理系統的實現過程,介紹用Java知識開發一個大型數據庫軟件的過程,對前面所學的知識融會貫通,了解Java在大型軟件項目中的使用方法和技巧。
如何獲取本書的學習資源
為幫助讀者高效、快捷地學習本書的知識點,我們不但為讀者準備了與本書知識點有關的配套素材文件,而且設計并制作了精品視頻教學課程,還為教師準備了PPT課件資源。購買本書的讀者,可以通過以下途徑獲取相關的配套學習資源。
1. 掃描書中二維碼獲取在線學習視頻
讀者在學習本書的過程中,可以使用微信的掃一掃功能,掃描本書節標題左下角的二維碼,在打開的視頻播放頁面中在線觀看視頻課程,也可以下載并保存到手機或電腦中離線觀看。
2. 登錄網站獲取更多學習資源
本書含有豐富的配套素材和PPT課件資源,讀者可以登錄清華大學出版社官方網站(http://www.tup.com.cn)下載相關學習資料。
本書由文杰書院組織編寫,由薛小龍、李軍組稿,李桂華負責內容編寫,參與本書編寫的人員還有葉維忠、燕成立、陳家政、王長青、袁帥、文雪、李強、高桂華、馮臣、宋艷輝等。
我們真切希望讀者在閱讀本書之后,可以開闊視野,增長實踐操作技能,并從中學習和總結操作的經驗和規律,達到靈活運用的水平。鑒于編者水平有限,書中紕漏和考慮不周之處在所難免,熱忱歡迎讀者予以批評、指正,以便我們日后能為您編寫更好的圖書。
編 者
目 錄
第1章 Java語言基礎 1
1.1 初步認識Java 2
1.1.1 都在談論Java 2
1.1.2 Java的特點 2
1.1.3 Java語言的地位 3
1.2 面向對象編程思想 4
1.2.1 什么是面向對象 4
1.2.2 Java的面向對象編程 4
1.3 搭建Java開發環境 5
1.3.1 安裝JDK 5
1.3.2 配置開發環境——Windows 7 8
1.3.3 配置開發環境——Windows 10 8
1.4 編寫第一段Java程序 10
1.4.1 第一段Java代碼 10
1.4.2 關鍵字 11
1.4.3 標識符 12
1.4.4 注釋 12
1.4.5 main()方法 13
1.4.6 控制臺的輸入和輸出 13
1.4.7 編譯Java程序 13
1.4.8 運行Java代碼 14
1.5 實踐案例與上機指導 15
1.5.1 最受歡迎的工具——Eclipse 15
1.5.2 獲得并安裝Eclipse 15
1.5.3 新建一個Eclipse項目 20
1.5.4 編譯并運行Eclipse項目 23
1.6 思考與練習 24
第2章 Java語言基礎語法 25
2.1 常量和變量 26
2.1.1 常量 26
2.1.2 變量 27
2.2 數據類型 30
2.2.1 為什么要使用數據類型 30
2.2.2 基本數據類型值的范圍 31
2.2.3 字符型 31
2.2.4 整型 33
2.2.5 浮點型 34
2.2.6 布爾型 36
2.3 運算符 37
2.3.1 算術運算符 37
2.3.2 關系運算符和邏輯運算符 40
2.3.3 位運算符 42
2.3.4 條件運算符 43
2.3.5 運算符的優先級 44
2.4 字符串 46
2.4.1 字符串的初始化 46
2.4.2 String類 47
2.5 實踐案例與上機指導 49
2.5.1 自動類型轉換 49
2.5.2 強制轉換 50
2.6 思考與練習 51
第3章 使用條件語句 53
3.1 使用if語句 54
3.1.1 if語句 54
3.1.2 if語句的延伸 56
3.1.3 多條件判斷的if語句 57
3.2 使用switch語句 59
3.2.1 switch語句的形式 59
3.2.2 無break的情況 61
3.2.3 case沒有執行語句 62
3.2.4 default可以不在末尾 62
3.3 實踐案例與上機指導 63
3.3.1 正確使用switch語句 63
3.3.2 正確使用if語句 64
3.4 思考與練習 66
第4章 使用循環語句 67
4.1 使用循環語句 68
4.1.1 for循環語句 68
4.1.2 while循環語句 72
4.1.3 do-while循環語句 72
4.2 使用跳轉語句 74
4.2.1 break語句的應用 75
4.2.2 return語句的應用 76
4.3 實踐案例與上機指導 77
4.3.1 有標號的break語句 77
4.3.2 continue跳轉語句 78
4.4 思考與練習 79
第5章 數組 81
5.1 一維數組 82
5.1.1 聲明一維數組 82
5.1.2 創建一維數組 82
5.1.3 初始化一維數組 84
5.2 二維數組 85
5.2.1 聲明二維數組 86
5.2.2 創建二維數組 86
5.2.3 初始化二維數組 87
5.3 三維數組 89
5.3.1 聲明和創建三維數組 89
5.3.2 初始化三維數組 89
5.4 實踐案例與上機指導 90
5.4.1 復制數組 91
5.4.2 比較數組 91
5.4.3 排序數組 92
5.5 思考與練習 93
第6章 Java的面向對象 95
6.1 面向對象基礎 96
6.2 創建類 97
6.2.1 定義類 98
6.2.2 定義屬性 98
6.2.3 定義方法 99
6.2.4 定義構造器 100
6.3 修飾符 100
6.3.1 public修飾符 101
6.3.2 private私有修飾符 101
6.3.3 protected保護修飾符 102
6.3.4 其他修飾符 103
6.4 方法 104
6.4.1 傳遞方法參數 104
6.4.2 長度可變的方法 105
6.4.3 構造方法 106
6.4.4 遞歸方法 107
6.5 使用this 108
6.6 使用類和對象 109
6.6.1 創建和使用對象 109
6.6.2 使用靜態變量和靜態方法 110
6.7 實踐案例與上機指導 111
6.7.1 抽象類和抽象方法基礎 111
6.7.2 抽象類必須有一個抽象方法 112
6.8 思考與練習 113
第7章 繼承、重載和接口 115
7.1 繼承 116
7.1.1 什么是繼承 116
7.1.2 父類和子類 116
7.1.3 調用父類的構造方法 117
7.1.4 訪問父類的屬性和方法 119
7.1.5 多重繼承 120
7.1.6 重寫父類的方法 122
7.2 重寫和重載 123
7.2.1 重寫 123
7.2.2 重載 125
7.3 隱藏和封裝 126
7.3.1 Java中的封裝 126
7.3.2 使用訪問控制符 127
7.3.3 Java中的包 129
7.3.4 import 130
7.4 接口 131
7.4.1 定義接口 131
7.4.2 接口里的量和方法 132
7.4.3 實現接口 134
7.4.4 引用接口 135
7.4.5 接口的繼承 137
7.5 實踐案例與上機指導 138
7.5.1 使用構造器 138
7.5.2 使用多態 139
7.6 思考與練習 141
第8章 使用集合 143
8.1 Java集合概述 144
8.2 Collection接口和Iterator接口 145
8.2.1 Collection接口介紹 145
8.2.2 Iterator接口介紹 146
8.2.3 使用Collection方法操作集合里的元素 147
8.3 Set接口 148
8.3.1 基礎知識介紹 148
8.3.2 使用HashSet 150
8.3.3 使用TreeSet類 152
8.3.4 使用EnumSet類 154
8.4 List接口 156
8.4.1 基本知識介紹 157
8.4.2 根據位置索引來操作集合內的元素 158
8.4.3 使用ArrayList和Vector類 159
8.5 實踐案例與上機指導 160
8.5.1 使用Map接口 160
8.5.2 使用SortedMap接口和TreeMap實現類 161
8.6 思考與練習 162
第9章 常用的類庫 165
9.1 StringBuffer類 166
9.1.1 StringBuffer類基礎 166
9.1.2 使用StringBuffer類 167
9.2 Runtime類 169
9.2.1 Runtime類基礎 169
9.2.2 使用Runtime類 170
9.3 程序國際化 172
9.3.1 國際化基礎 172
9.3.2 Locale類 172
9.3.3 ResourceBundle類 173
9.3.4 處理動態文本 174
9.3.5 使用類代替資源文件 176
9.4 System類 177
9.4.1 System類基礎 177
9.4.2 垃圾對象的回收 178
9.5 Date類 179
9.5.1 使用Date類 179
9.5.2 使用Calendar類 180
9.5.3 使用DateFormat類 181
9.5.4 使用SimpleDateFormat類 183
9.6 使用Math類 184
9.7 實踐案例與上機指導 185
9.7.1 使用類Random創建隨機數 186
9.7.2 使用類BigInteger處理大數 187
9.8 思考與練習 188
第10章 使用泛型 189
10.1 泛型基礎 190
10.1.1 泛型的好處 190
10.1.2 類型檢查 191
10.1.3 使用泛型 192
10.2 泛型詳解 193
10.2.1 定義泛型接口和類 193
10.2.2 派生子類 194
10.2.3 并不存在泛型類 195
10.3 類型通配符 196
10.3.1 設置類型通配符的上限 197
10.3.2 設置類型形參的上限 198
10.4 泛型方法 199
10.4.1 定義泛型方法 199
10.4.2 設置通配符下限 200
10.5 泛型接口 202
10.6 實踐案例與上機指導 204
10.6.1 以泛型類為父類 204
10.6.2 以非泛型類為父類 205
10.7 思考與練習 206
第11章 異常處理 207
11.1 什么是異常 208
11.1.1 認識異常 208
11.1.2 Java提供的異常處理類 209
11.2 異常的處理方式 210
11.2.1 使用try-catch處理異常 210
11.2.2 處理多個異常 211
11.2.3 將finally關鍵字使用在異常中 212
11.2.4 訪問異常信息 214
11.3 拋出異常 215
11.3.1 使用throws拋出異常 215
11.3.2 使用throw拋出異常 217
11.4 實踐案例與上機指導 218
11.5 思考與練習 220
第12章 I/O文件處理 221
12.1 Java I/O簡介 222
12.2 File類 223
12.2.1 File類中的方法 223
12.2.2 使用File類操作文件 223
12.3 RandomAccessFile類 227
12.3.1 RandomAccessFile類的常用方法 227
12.3.2 使用RandomAccessFile類 228
12.4 字節流與字符流 229
12.4.1 字節流類和字符流類 229
12.4.2 使用字節流 230
12.4.3 使用字符流 235
12.5 實踐案例與上機指導 239
12.5.1 將字節輸出流變為字符輸出流 239
12.5.2 將一個大寫字母轉換為小寫字母 240
12.6 思考與練習 241
第13章 使用Swing開發桌面程序 243
13.1 Swing基礎 244
13.2 Swing的組件 245
13.2.1 Swing組件的層次結構 245
13.2.2 Swing實現AWT組件 247
13.3 拖放處理 251
13.4 實踐案例與上機指導 253
13.4.1 創建一個進度條 253
13.4.2 使用ProgressMonitor創建進度條對話框 255
13.5 思考與練習 256
第14章 使用數據庫 259
14.1 SQL基礎 260
14.1.1 數據定義 260
14.1.2 數據操縱 262
14.2 JDBC基礎 264
14.2.1 JDBC API 265
14.2.2 JDBC驅動類型 265
14.2.3 JDBC的常用接口和類 266
14.2.4 JDBC編程步驟 268
14.3 連接Access數據庫 271
14.3.1 Access數據庫介紹 271
14.3.2 連接本地Access數據庫 272
14.4 實踐案例與上機指導 274
14.4.1 下載并安裝SQL Sever 2016 驅動 274
14.4.2 測試和SQL Server數據庫的連接 276
14.5 思考與練習 277
第15章 使用多線程 279
15.1 線程基礎 280
15.1.1 線程和進程概述 280
15.1.2 線程帶來的意義 280
15.1.3 Java的線程模型 282
15.2 創建線程 282
15.2.1 使用Thread類創建線程 282
15.2.2 使用Runnable接口創建 線程 285
15.2.3 使用Thread.onSpinWait()方法實現循環等待 286
15.3 線程的生命周期 288
15.3.1 創建并運行線程 288
15.3.2 掛起和喚醒線程 289
15.3.3 終止線程的3種方法 290
15.3.4 線程阻塞 292
15.3.5 線程死亡 293
15.4 控制線程 294
15.4.1 使用join方法 294
15.4.2 慎重使用volatile關鍵字 295
15.5 實踐案例與上機指導 298
15.5.1 線程讓步 298
15.5.2 通過構造方法傳遞數據 299
15.6 思考與練習 300
第16章 圖書商城管理系統 303
16.1 系統開發流程 304
16.2 數據庫設計 305
16.3 系統設計 308
16.3.1 登錄界面的設計 308
16.3.2 主窗口的設計 310
16.3.3 商品信息的基本管理 314
16.3.4 進貨信息管理 322
16.3.5 銷售信息管理 324
16.4 系統調試 330