本書內容主要包括:Java語言概述、Java語言基礎、Java輸入/輸出、程序流程控制結構和方法、數組、Java類和對象、類的繼承和接口、Java包和異常、面向對象設計的基本原則及設計模式初步、圖形處理、圖形用戶界面、多線程、綜合案例——聊天通信等。
書中程序在JDK 5.0/JDK 6.0中經過驗證,并給出運行結果。課后練習豐富,包括習題、問題探究和SCJP試題。本書免費提供配套教學資源包,包括電子課件、習題參考答案和實驗安排,請登錄華信教育資源網(www.hxedu.com.cn)免費注冊下載。
目 錄
第1章 Java語言概述1
1.1 Java語言崛起2
1.2 Java語言與C、C++語言2
1.3 Java語言的特點4
1.4 Java程序的類型及其不同的編程模式6
1.5 Java程序開發過程7
1.6 Java編程環境與開發工具11
1.6.1 JDK的下載和安裝11
1.6.2 環境變量的配置13
1.6.3 JDK開發工具簡介14
1.6.4 Java程序開發步驟小結15
習題115
問題探究116
第2章 Java語言基礎17
2.1 標識符、關鍵字和分隔符17
2.1.1 標識符和關鍵字17
2.1.2 分隔符18
2.2 數據類型19
2.2.1 基本數據類型20
2.2.2 變量21
2.3 運算符與表達式22
2.3.1 算術運算符22
2.3.2 賦值運算符23
2.3.3 關系運算符24
2.3.4 邏輯運算符25
2.3.5 條件運算符25
2.3.6 其他運算符25
2.3.7 運算符的優先級26
2.4 字符串26
2.4.1 創建String對象27
2.4.2 創建StringBuffer對象28
2.5 案例實現29
習題230
問題探究230
第3章 Java輸入/輸出32
3.1 標準輸入/輸出方法32
3.1.1 標準輸出方法33
3.1.2 Scanner鍵盤輸入類34
3.1.3 read方法的使用36
3.2 命令行參數輸入法的應用37
3.3 流式交互輸入/輸出的應用37
3.3.1 應用舉例37
3.3.2 Java I/O基本模型39
3.4 文件數據的讀/寫40
3.5 JOptionPane對話框輸入法43
3.6 案例實現43
習題345
問題探究345
第4章 程序流程控制結構和方法46
4.1 語句和程序流程控制結構46
4.2 選擇結構47
4.2.1 選擇語句47
4.2.2 多選擇結構switch語句51
4.3 循環結構54
4.3.1 三種循環語句54
4.3.2 循環程序結構小結58
4.3.3 循環嵌套和continue、break語句58
4.4 算法設計61
4.4.1 迭代算法61
4.4.2 窮舉算法62
4.4.3 復雜程序解決方案和方法63
4.5 案例實現70
習題470
問題探究471
第5章 數組72
5.1 數組的基本概念72
5.2 一維數組73
5.2.1 一維數組的聲明73
5.2.2 一維數組內存申請73
5.2.3 一維數組的初始化74
5.2.4 測定數組的長度76
5.2.5 foreach語句與數組76
5.3 二維數組76
5.3.1 認識二維數組77
5.3.2 二維數組的聲明與創建77
5.3.3 二維數組元素的初始化78
5.3.4 二維數組的引用79
5.4 案例實現81
習題583
問題探究584
第6章 Java類和對象86
6.1 面向對象程序設計87
6.2 類的描述89
6.2.1 類的定義89
6.2.2 成員變量的訪問控制符90
6.2.3 成員方法92
6.2.4 成員變量和局部變量93
6.2.5 final變量94
6.3 對象的創建與使用95
6.3.1 對象的創建95
6.3.2 對象的比較96
6.3.3 對象的使用97
6.3.4 釋放對象101
6.3.5 Java變量內存分配101
6.3.6 匿名對象102
6.4 構造方法103
6.4.1 構造方法的作用和定義103
6.4.2 this引用104
6.5 static變量與static方法107
6.5.1 static變量107
6.5.2 static方法109
6.6 成員方法112
6.6.1 方法調用與參數傳遞方式112
6.6.2 方法重載115
6.6.3 final方法和abstract方法117
6.7 類和對象的綜合應用案例——股票收益計算117
6.8 實用工具類119
6.8.1 向量類Vector120
6.8.2 日期類Date、Calendar與DateFormat121
6.9 泛型123
6.9.1 泛型的概念和泛型類的聲明123
6.9.2 泛型的應用124
6.10 案例實現126
習題6129
問題探究6130
第7章 類的繼承和接口133
7.1 類的繼承133
7.1.1 繼承的概念133
7.1.2 創建子類134
7.1.3 關于父類的構造方法135
7.2 成員變量的隱藏和成員方法的重構138
7.3 類與類之間的數據類型轉換140
7.4 抽象類141
7.5 接口143
7.5.1 接口概述143
7.5.2 接口的定義143
7.5.3 實現接口的類定義144
7.5.4 接口的多態性147
7.6 案例實現149
習題7154
問題探究7154
第8章 Java包和異常155
8.1 包155
8.1.1 創建包156
8.1.2 類的包外引用157
8.1.3 使用jar命令打包與引用160
8.2 異常處理161
8.2.1 異常的基本概念161
8.2.2 異常處理機制165
8.2.3 自定義異常類168
8.2.4 GUI應用程序的異常處理169
8.3 案例實現172
習題8174
問題探究8175
第9章 面向對象程序設計的基本原則及設計模式初步176
9.1 UML類圖176
9.1.1 類的UML圖177
9.1.2 接口表示177
9.1.3 依賴關系178
9.1.4 關聯關系178
9.1.5 聚合關系179
9.1.6 組合關系179
9.1.7 泛化關系179
9.1.8 實現關系180
9.2 面向對象程序設計的基本原則181
9.2.1 發現變化,封裝變化181
9.2.2 單一職責原則和最少知識原則183
9.2.3 開放-封閉原則184
9.2.4 子類型能夠替換基類型原則185
9.2.5 合成/聚合復用原則186
9.3 面向對象的設計模式187
9.3.1 對設計模式的理解187
9.3.2 策略模式188
9.3.3 中介者模式190
9.3.4 模板方法模式194
9.4 案例實現196
習題9200
問題探究9200
第10章 圖形處理201
10.1 Java坐標系201
10.2 圖形的顏色控制202
10.3 Graphics類的基本圖形205
10.3.1 繪制直線和矩形205
10.3.2 繪制圓弧208
10.3.3 繪制多邊形209
10.4 文字輸出210
10.5 繪圖模式控制211
10.6 案例實現213
習題10214
問題探究10214
第11章 圖形用戶界面215
11.1 圖形用戶界面概述215
11.1.1 圖形用戶界面組件215
11.1.2 組件分類216
11.1.3 常用容器類的應用217
11.2 事件處理221
11.2.1 基本概念221
11.2.2 事件處理機制223
11.2.3 事件處理的實現方式224
11.2.4 適配器類228
11.3 一般組件231
11.3.1 標簽——JLabel類231
11.3.2 按鈕——JButton類231
11.3.3 文本框——JTextField類與JPasswordField類231
11.3.4 文本區——JTextArea類232
11.3.5 列表框組件——JComboBox類和JList類234
11.3.6 滾動窗格——JScrollPane類236
11.3.7 復選框和單選按鈕——JCheckBox類和JRadioButton類237
11.3.8 滑動條——JSlider類239
11.3.9 多事件處理示例241
11.4 菜單與對話框244
11.4.1 創建菜單244
11.4.2 彈出式菜單247
11.4.3 對話框249
11.5 布局管理器254
11.5.1 順序布局——FlowLayout254
11.5.2 邊界布局——BorderLayout255
11.5.3 網格布局——GridLayout256
11.5.4 卡片布局——CardLayout256
11.5.5 手工布局258
11.6 JApplet的使用259
11.7 Java事件類方法列表260
11.8 案例實現261
習題11266
問題探究11268
第12章 多線程269
12.1 多線程概述269
12.1.1 基本概念270
12.1.2 線程的狀態與生命周期271
12.1.3 線程的調度與優先級273
12.2 創建和運行線程273
12.2.1 利用Thread類創建線程273
12.2.2 用Runnable接口創建線程276
12.3 線程間的數據共享278
12.4 多線程的同步控制280
12.4.1 線程同步相關概念280
12.