本教程以甲骨文**發(fā)布的Java 8為基礎,對第2版進行了全新改版,內容循序漸進、深入淺出,精心設計每一個實例,結構安排更為合理,使讀者準確把握Java的知識點。教程包括Java實用教程、實驗、習題和習題答案四部分(限于篇幅,習題和習題答案通過網(wǎng)絡以電子檔形式提供)。本教程在講解內容后緊跟實例,很多章節(jié)的*后還配備有綜合實例,對已經(jīng)學習的主要知識進行綜合應用。實驗部分也是通過實例引導讀者學習,并提出思考問題,*后在原來基礎上讓讀者自己進行操作和編程練習。
第1部分 Java實用教程
第1章 Java語言及編程環(huán)境1
1.1 Java語言簡介1
1.1.1 Java語言特點1
1.1.2 Java運行機制2
1.1.3 Java 8新特性3
1.2 Java編程環(huán)境3
1.2.1 JDK 83
1.2.2 Eclipse集成開發(fā)環(huán)境7
第2章 Java語法基礎13
2.1 常量和變量13
2.1.1 數(shù)據(jù)類型13
2.1.2 標識符和關鍵字13
2.1.3 常量14
2.1.4 變量16
2.1.5 類型轉換17
2.2 運算符和表達式19
2.2.1 運算符19
2.2.2 表達式24
2.3 流程控制24
2.3.1 分支語句24
2.3.2 循環(huán)語句27
2.3.3 流程跳轉語句30
2.4 數(shù)組31
2.4.1 一維數(shù)組31
2.4.2 多維數(shù)組33
2.4.3 數(shù)組的訪問36
2.5 綜合實例38
第3章 Java類與對象41
3.1 Java語言的類41
3.1.1 面向對象程序設計概念41
3.1.2 類的定義42
3.1.3 變量初始化43
3.1.4 類的方法45
3.2 創(chuàng)建對象49
3.2.1 構造方法49
3.2.2 默認構造方法51
3.2.3 構造方法重載52
3.3 this引用53
3.4 靜態(tài)成員55
3.4.1 靜態(tài)變量55
3.4.2 靜態(tài)方法56
3.4.3 main()方法57
3.4.4 靜態(tài)代碼塊59
3.5 內部類60
3.5.1 實例內部類60
3.5.2 匿名內部類62
3.5.3 static內部類63
3.5.4 局部內部類64
3.6 類的打包封裝64
3.6.1 包(package)機制64
3.6.2 創(chuàng)建JAR文件68
第4章 Java面向對象編程70
4.1 繼承70
4.1.1 繼承的定義70
4.1.2 初始化基類71
4.1.3 方法的重寫72
4.1.4 super關鍵字74
4.2 多態(tài)75
4.2.1 對象的類型轉換75
4.2.2 多態(tài)的實現(xiàn)78
4.3 抽象類和接口80
4.3.1 抽象方法與抽象類80
4.3.2 接口概念及特性81
4.4 終止繼承84
4.4.1 final類84
4.4.2 final方法84
4.4.3 final變量85
4.5 修飾符的適用范圍87
4.5.1 修飾符及訪問權限87
4.5.2 類內部88
4.5.3 同一個包的類89
4.5.4 不同包的子類90
4.5.5 任意類90
4.5.6 繼承規(guī)則91
4.6 Java編程規(guī)范91
4.6.1 代碼書寫規(guī)范91
4.6.2 文檔的使用92
4.7 綜合實例:航班管理93
4.7.1 需求分析93
4.7.2 程序設計94
4.7.3 文檔編制103
第5章 Java常用類105
5.1 Object類105
5.1.1 equals()方法105
5.1.2 hashCode()方法106
5.1.3 toString()方法107
5.2 字符串類108
5.2.1 String類108
5.2.2 StringBuffer類111
5.3 包裝類112
5.4 Math類114
5.5 Random類115
5.6 日期時間類116
5.6.1 Java 8的日期時間包116
5.6.2 日歷應用118
5.7 正則表達式119
5.7.1 基礎知識119
5.7.2 正則表達式的應用122
5.8 數(shù)組實用類125
5.8.1 復制數(shù)組125
5.8.2 數(shù)組排序126
5.8.3 數(shù)組元素的查找127
第6章 Java語言新特性129
6.1 枚舉129
6.1.1 定義枚舉類型129
6.1.2 enum構造方法130
6.1.3 使用EnumMap131
6.2 注解132
6.2.1 內置注解132
6.2.2 自定義注解136
6.2.3 元注解136
6.3 lambda表達式139
6.3.1 lambda表達式簡介139
6.3.2 函數(shù)式接口139
6.3.3 lambda表達式與匿名內
部類141
6.3.4 方法引用143
第7章 容器和泛型144
7.1 Collection與Iterator接口144
7.2 Collections實用類146
7.3 Set(集合)147
7.3.1 HashSet148
7.3.2 TreeSet149
7.4 List(列表)152
7.4.1 ArrayList153
7.4.2 LinkedList155
7.4.3 棧的實現(xiàn)156
7.5 Queue(隊列)157
7.5.1 LinkedList實現(xiàn)157
7.5.2 PriorityQueue158
7.5.3 雙向隊列159
7.6 Map(映射)161
7.6.1 HashMap161
7.6.2 TreeMap 162
7.7 泛型163
7.7.1 泛型的基本概念163
7.7.2 泛型方法166
7.7.3 受限泛型168
7.7.4 通配符與受限通配符169
7.7.5 子類泛型170
7.7.6 泛型數(shù)組172
7.8 綜合實例173
第8章 異常處理177
8.1 異常概述177
8.2 異常處理機制178
8.2.1 異常的捕獲與處理178
8.2.2 聲明拋出異常子句180
8.2.3 拋出異常180
8.3 自定義異常類181
第9章 Java輸入/輸出系統(tǒng)184
9.1 字節(jié)流184
9.1.1 字節(jié)數(shù)組輸入流185
9.1.2 字節(jié)數(shù)組輸出流 186
9.1.3 文件輸入流 186
9.1.4 文件輸出流187
9.1.5 管道流 188
9.2 過濾流189
9.2.1 緩沖流類190
9.2.2 數(shù)據(jù)流類191
9.2.3 PrintStream類193
9.3 字符流194
9.3.1 轉換流類195
9.3.2 FileReader和FileWriter196
9.3.3 BufferedReader和
BufferedWriter197
9.3.4 PrintWriter類198
9.4 標準I/O200
9.4.1 重新包裝標準I/O200
9.4.2 標準I/O重定向200
9.5 隨機訪問文件類201
9.6 對象序列化204
9.7 File類205
9.8 綜合實例207
第10章 多線程209
10.1 線程的創(chuàng)建與啟動209
10.1.1 繼承java.lang.Thread類209
10.1.2 實現(xiàn)Runnable接口211
10.2 線程的狀態(tài)轉換212
10.3 線程調度214
10.3.1 調整線程優(yōu)先級214
10.3.2 線程讓步215
10.3.3 合并線程216
10.4 后臺線程217
10.5 線程互斥218
10.5.1 臨界區(qū)218
10.5.2 對象鎖機制220
10.5.3 顯式Lock對象223
10.6 線程同步225
10.7 綜合實例228
第11章 AWT圖形用戶界面編程234
11.1 AWT容器234
11.1.1 Window和Frame235
11.1.2 Panel235
11.2 布局管理器237
11.3 事件處理機制239
11.3.1 AWT事件與監(jiān)聽器239
11.3.2 窗口事件240
11.3.3 鼠標事件242
11.3.4 鍵盤事件243
11.3.5 內部類實現(xiàn)監(jiān)聽接口245
11.3.6 類自身實現(xiàn)監(jiān)聽接口246
11.3.7 外部類實現(xiàn)監(jiān)聽接口247
11.3.8 采用事件適配器249
11.4 在AWT中繪圖251
11.4.1 Graphics類251
11.4.2 AWT繪圖實現(xiàn)原理253
11.5 綜合實例255
第12章 Swing組件及應用260
12.1 窗口(JFrame)260
12.2 Swing基本組件261
12.2.1 按鈕(JButton)261
12.2.2 文本框(JTextField)263
12.2.3 復選框(JCheckBox)和單
選按鈕(JRadioButton)266
12.2.4 列表框(JList)269
12.3 Swing菜單程序設計270
12.3.1 菜單條(JMenuBar)270
12.3.2 彈出式菜單
(JPopupMenu)273
12.3.3 頁簽面板(JTabbedPane)275
12.3.4 工具欄(JToolBar)277
12.4 Swing數(shù)據(jù)管理組件279
12.4.1 表格(JTable)280
12.4.2 樹狀視圖(JTree)282
12.5 Swing標準對話框283
12.5.1 對話框(JDialog)283
12.5.2 消息框(JOptionPane)285
12.5.3 文件對話框(