內容簡介
本書將面向對象的理論與Java語言程式設計技術相結合,意在培養讀者正確運用面向對象的思維方法分析問題和解決問題的能力。全書共分16章。第1章介紹了程式語言的發展、Java語言的特點和NetBeans集成開發環境。第2章~第6章主要介紹了面向對象的基本理論、原理、技術方法和Java語言基礎知識,闡述了面向對象程式設計的基本原則和特點。從第7章開始的以後各章介紹了Java的常用標準類庫及編程技巧,主要包括字元串類、集合類、GUI設計、Swing組件、異常處理、多執行緒技術、輸入/輸出技術、網路編程技術和JDBC資料庫套用編程技術等。
本書可作為高等院校計算機類、軟體工程類、信息類專業相關課程的教材,也可作為對面向對象編程技術和Java語言感興趣的讀者的自學用書。
為方便教學和實踐,西安電子科技大學出版社網站上提供了可免費使用的電子教案和示例程式原始碼。
目錄
第1章 Java系統環境概述 1
1.1 程式語言的發展 1
1.1.1 機器語言 2
1.1.2 彙編語言 2
1.1.3 高級語言 2
1.1.4 面向對象的語言 3
1.1.5 面向對象語言的發展 4
1.2 網路時代的程式語言——Java 4
1.2.1 Java的產生 5
1.2.2 Java的特點 5
1.3 Java的開發運行環境 11
1.3.1 下載和安裝JDK與NetBeans 11
1.3.2 運行NetBeans IDE 12
1.4 Java程式的運行步驟 12
1.4.1 JVM的體系結構及工作原理 13
1.4.2 Java Application程式的建立及運行 14
1.4.3 Java Applet程式的建立及運行 18
第2章 Java語言基礎 22
2.1 Java符號集 22
2.1.1 標識符及其命名 22
2.1.2 關鍵字 23
2.1.3 運算符 23
2.1.4 分隔設定 24
2.1.5 注釋 24
2.2 數據類型、常量與變數 24
2.2.1 數據類型的概念 24
2.2.2 常量 25
2.2.3 變數 27
2.2.4 引用類型 32
2.3 表達式和語句 32
2.3.1 算術表達式 32
2.3.2 賦值表達式 36
2.3.3 表達式語句 37
2.3.4 關係表達式 37
2.3.5 邏輯表達式 38
2.3.6 位運算 39
2.3.7 運算符的優先權 40
第3章 程式流程控制 43
3.1 選擇結構程式設計 43
3.1.1 if語句 43
3.1.2 switch語句 49
3.1.3 條件運算符 50
3.2 循環結構程式設計 51
3.2.1 while語句 51
3.2.2 do-while語句 52
3.2.3 for語句 53
3.2.4 for語句頭的變化與逗號運算符 54
3.2.5 循環語句比較 56
3.2.6 循環控制要點 56
3.2.7 循環嵌套 58
3.3 break和continue語句 60
3.3.1 break語句 61
3.3.2 continue語句 63
第4章 類與對象 66
4.1 類與對象的概念 66
4.1.1 抽象原則 66
4.1.2 對象 69
4.1.3 類 69
4.1.4 類與對象的關係 70
4.1.5 定義類的一般格式 70
4.1.6 Java類庫 72
4.1.7 創建對象 74
4.1.8 使用對象 76
4.1.9 對象的初始化與構造方法 78
4.2 封裝機制 80
4.2.1 封裝的概念 80
4.2.2 類的嚴謹定義 80
4.2.3 類修飾符 81
4.3 數據成員 84
4.3.1 數據成員的聲明 84
4.3.2 用static修飾的靜態數據成員 84
4.3.3 靜態數據成員的初始化 85
4.3.4 用final修飾的最終數據成員 86
4.4 成員方法 87
4.4.1 成員方法的分類 87
4.4.2 聲明成員方法的格式 88
4.4.3 方法體中的局部變數 88
4.4.4 成員方法的返回值 89
4.4.5 形式參數與實際參數 90
4.4.6 成員方法的引用方式 92
4.4.7 引用成員方法時應注意的事項 92
4.4.8 成員方法的遞歸引用 93
4.4.9 用static修飾的靜態方法 95
4.4.10 數學函式類方法 96
4.4.11 用final修飾的最終方法 97
4.4.12 用native修飾的本地方法 98
第5章 訊息、繼承與多態 100
5.1 訊息 100
5.1.1 訊息的概念 100
5.1.2 公有訊息和私有訊息 101
5.1.3 特定於對象的訊息 101
5.2 訪問控制 103
5.2.1 公共訪問控制符public 103
5.2.2 預設訪問控制符 105
5.2.3 私有訪問控制符private 106
5.2.4 保護訪問控制符protected 107
5.3 多態機制 109
5.3.1 多態的概念 109
5.3.2 重載 109
5.3.3 覆蓋 110
5.4 繼承機制 110
5.4.1 繼承的概念 110
5.4.2 繼承的特徵 111
5.4.3 Java用extends指明繼承關係 112
5.4.4 this與super 114
5.4.5 構造方法的重載與繼承 118
5.4.6 向方法傳遞對象 121
5.4.7 繼承與封裝的關係 122
5.5 抽象類、接口與包 122
5.5.1 抽象類 122
5.5.2 接口 126
5.5.3 包與程式復用 132
第6章 數組 140
6.1 一維數組 140
6.1.1 一維數組的聲明 140
6.1.2 創建一維數組對象 140
6.1.3 一維數組的引用 142
6.2 一維數組引用舉例 142
6.2.1 測定數組的長度 142
6.2.2 數組下標的靈活使用 143
6.2.3 數組名之間的賦值 146
6.2.4 向成員方法傳遞數組元素 147
6.2.5 向成員方法傳遞數組名 148
6.2.6 數組元素排序 150
6.2.7 對象數組 154
6.3 二維數組 156
6.3.1 二維數組的聲明 157
6.3.2 創建二維數組對象 157
6.4 二維數組的引用 159
6.4.1 測定數組的長度及數組賦值 159
6.4.2 數組名作為成員方法的參數 161
第7章 字元串類
7.1 String類 164
7.1.1 直接賦值創建String對象 164
7.1.2 String類的構造方法 164
7.1.3 String類的常用方法 166
7.1.4 訪問字元串對象 167
7.1.5 字元串比較 169
7.1.6 字元串操作 170
7.1.7 其他類型的數據轉換成字元串 171
7.1.8 main方法中的參數 172
7.2 StringBuffer類 175
7.2.1 創建StringBuffer對象 175
7.2.2 StringBuffer類的常用方法 175
7.2.3 StringBuffer類的測試緩衝區長度的方法 176
7.2.4 StringBuffer類的append( )方法 177
7.2.5 StringBuffer類的insert( )方法 177
7.2.6 StringBuffer類的setcharAt( )方法 178
第8章 集合類 181?
8.1 線性結構簡介 181
8.2 集合與集合框架 182
8.2.1 集合(Collection) 182
8.2.2 集合框架 183
8.3 Collection接口 184
8.3.1 Collection接口簡介 184
8.3.2 Iterator疊代器 185
8.4 List接口與實現類 187
8.4.1 List接口簡介 187
8.4.2 ArrayList類 190
8.4.3 LinkedList類 190
8.5 Set接口 192
8.5.1 Set接口簡介 192
8.5.2 SortedSet接口 195
8.6 Map接口 196
8.6.1 Map接口簡介 196
8.6.2 Map接口的常用操作 196
8.6.3 Map.Entry接口的常用操作 197
8.6.4 SortedMap接口 199
8.7 Collections算法類 200
8.7.1 為集合增加元素的addAll( )方法 200
8.7.2 sort( )和reverse( )方法 201
8.7.3 實現混排的shuffle( )方法 202
8.7.4 替換集合中元素的replaceAll( )方法 202
8.7.5 二分查找的binarySearch( )方法 203
8.7.6 交換指定位置元素的swap( )方法 204
第9章 文字與圖形GUI設計 206
9.1 GUI設計概述 206
9.1.1 JFC簡介 206
9.1.2 圖形用戶界面元素分類 207
9.1.3 Swing的組件 209
9.1.4 控制Applet運行狀態的基本方法 211
9.1.5 JApplet類 212
9.1.6 Java 2D API 212
9.1.7 Graphics2D對象 213
9.2 繪製文字 213
9.2.1 繪製文字的成員方法 214
9.2.2 Font類 215
9.3 Color類 217
9.3.1 Color類的構造方法 218
9.3.2 Color類的數據成員常量 218
9.3.3 Color類的成員方法 219
9.3.4 套用舉例 219
9.4 繪製形狀圖形 220
9.4.1 繪製幾何圖形的方法與步驟 220
9.4.2 繪製線段與矩形 220
9.4.3 繪製橢圓、圓及弧 223
9.4.4 繪製多邊形 225
9.4.5 圖形重疊時的色彩設定 227
9.4.6 繪製剪下文字圖形 229
第10章 常用組件GUI設計 233
10.1 布局管理器 233
10.1.1 BorderLayout 234
10.1.2 FlowLayout 235
10.1.3 CardLayout 236
10.1.4 GridLayout 237
10.1.5 BoxLayout 238
10.2 視窗與面板容器 242
10.2.1 JFrame容器 242
10.2.2 JPanel容器 243
10.3 事件回響原理 245
10.3.1 委託事件模型 245
10.3.2 java.awt.Event事件類的繼承關係 245
10.3.3 事件與事件源的關係 246
10.3.4 Swing中的事件與事件監聽器 247
10.4 JLable組件 248
10.5 JButton組件與JToggleButton組件 249
10.5.1 常用組件的繼承關係 249
10.5.2 AbstractButton類的常用成員方法 250
10.5.3 JButton類的構造方法 251
10.5.4 JToggleButton類的構造方法 251
10.5.5 ActionEvent事件及其回響 252
10.5.6 套用舉例 253
10.6 JCheckBox和JRadioButton組件 255
10.6.1 JCheckBox類的構造方法 256
10.6.2 JRadioButton類的構造方法 256
10.6.3 ItemEvent事件及其回響 256
10.6.4 套用舉例 258
10.7 JComboBox組件 260
10.7.1 JComboBox類的構造方法和成員方法 260
10.7.2 事件回響 260
10.7.3 套用舉例 261
10.8 JList組件 262
10.8.1 JList類的構造方法和成員方法 262
10.8.2 ListSelectionEvent事件及其回響 263
10.8.3 套用舉例 263
10.9 JTextField與JTextArea組件 264
10.9.1 JTextField組件的構造方法和成員方法 264
10.9.2 JTextArea組件的構造方法和成員方法 265
10.9.3 事件回響及套用舉例 266
習題10 267
第11章 高級組件GUI設計 269
11.1 事件適配器 269
11.2 KeyEvent事件及其回響 270
11.2.1 KeyEvent事件 270
11.2.2 獲取事件源的方法 270
11.2.3 鍵盤事件的回響 270
11.2.4 套用舉例 271
11.3 MouseEvent事件及其回響 272
11.3.1 MouseEvent事件 272
11.3.2 獲取事件源的方法 273
11.3.3 滑鼠事件的回響 273
11.3.4 套用舉例 274
11.4 WindowEvent事件及其回響 275
11.4.1 WindowEvent事件 276
11.4.2 獲取事件源的方法 276
11.4.3 視窗事件的回響 276
11.4.4 套用舉例 277
11.5 JScrollPane與JScrollBar組件 279
11.5.1 JScrollPane組件 279
11.5.2 JScrollBar組件 280
11.5.3 AdjustmentEvent事件套用舉例 281
11.6 JTabbedPane容器 283
11.6.1 JTabbedPane容器簡介 283
11.6.2 套用舉例 284
11.7 選單設計 285
11.7.1 選單欄 286
11.7.2 選單 286
11.7.3 選單項 286
11.7.4 製作選單的一般步驟 287
11.7.5 選單設計套用舉例 287
11.8 對話框設計 288
11.8.1 JOptionPane概述 289
11.8.2 Message Dialog 289
11.8.3 Confirm Dialog 290
11.8.4 Input Dialog 291
11.8.5 Option Dialog 291
11.8.6 JOptionPane套用舉例 292
11.8.7 JDialog對話框 296
11.8.8 JDialog套用舉例 297
第12章 異常處理 300
12.1 Java的異常處理機制 300
12.1.1 異常處理機制的結構 301
12.1.2 異常類的繼承關係 302
12.2 Java的異常處理語句 304
12.2.1 try-catch-finally語句 304
12.2.2 嵌套try-catch-finally語句 306
12.2.3 拋出異常的throw語句與throws語句 307
第13章 多執行緒 310
13.1 Java中的多執行緒實現技術 310
13.1.1 執行緒的生命周期 310
13.1.2 Thread類的方法 312
13.1.3 通過繼承Thread類方式創建執行緒 314
13.1.4 通過實現Runnable接口方式創建執行緒 315
13.2 多執行緒的管理 319
13.2.1 執行緒調度 319
13.2.2 執行緒優先權 320
13.2.3 執行緒同步 321
13.2.4 執行緒組 323
第14章 輸入與輸出 325
14.1 基本輸入/輸出流類 325
14.1.1 InputStream類 325
14.1.2 OutputStream類 329
14.1.3 Reader類和Writer類 333
14.2 檔案的輸入/輸出 336
14.2.1 File類 337
14.2.2 FileInputStream類和
FileOutputStream類 340
14.2.3 位元組檔案輸入/輸出流的讀/寫 341
14.2.4 FileReader類和FileWriter類 344
14.2.5 RandomAccessFile類 347
第15章 網路編程 352
15.1 URL通信 352
15.1.1 URL類 353
15.1.2 利用URL類訪問網上資源示例程式 354
15.1.3 使用URLConnection類訪問網上資源 356
15.2 Socket通信 357
15.2.1 Socket的概念及通信機制 358
15.2.2 Socket類與 ServerSocket類 359
15.2.3 流式Socket通信的示例程式 360
15.2.4 URL通信與Socket通信的區別 364
15.3 UDP通信 364
15.3.1 UDP通信機制 364
15.3.2 DatagramSocket類 365
15.3.3 DatagramPacket類 366
15.3.4 UDP通信示例程式 366
第16章 JDBC連線資料庫 370
16.1 關係型資料庫與SQL 370
16.1.1 關係型資料庫的基本概念 370
16.1.2 數據定義語言 371
16.1.3 數據操縱語言 372
16.1.4 數據查詢語言 372
16.2 使用JDBC連線資料庫 373
16.2.1 JDBC結構 373
16.2.2 四類JDBC驅動程式 374
16.2.3 JDBC編程要點 375
16.2.4 常用的JDBC類與方法 375
16.2.5 安裝ODBC驅動程式示例 378
16.3 JDBC編程實例 381
16.3.1 創建數據表 381
16.3.2 向數據表中插入數據 382
16.3.3 更新數據 383
16.3.4 刪除記錄 385