Java程式設計——原理與範例

Java程式設計——原理與範例

《Java程式設計——原理與範例》是2013年8月電子工業出版社出版的圖書,作者是胡平。

基本介紹

  • 中文名:Java程式設計——原理與範例
  • 作者:胡平
  • 出版社:電子工業出版社
  • 出版時間:2013年8月
  • 頁數:456 頁
  • 定價:49 元
  • 開本:16 開
  • ISBN:9787121203176
內容簡介,圖書目錄,

內容簡介

本書是為“Java語言程式設計”課程編寫的教材。全書以原理性、實用性和可實踐性為編寫總原則,無論是行文風格,還是知識點的擴展,均以使讀者具備今後快速、自主學習Java平台下企業級軟體開發所涉及技術的能力為目標。
全書依託目前最為成熟的JDK 6.0,系統介紹了Java SE 6.0所包含的全部核心知識,並引入了設計模式的內容。本書共分為17章,其中第1~5章介紹JDK安裝配置和Java基本語法;第6~7章介紹類與對象,抽象類、接口與嵌套類;第8~9章介紹GUI編程和Swing高級組件;第10~11章介紹異常與處理、I/O流與檔案;第12章介紹多執行緒與並發;第13章介紹容器框架與泛型;第14~15章介紹字元串與正則表達式、國際化與本地化;第16~17章介紹類型信息與反射、元數據與註解。各章基本上都配有習題和實驗。此外,本書還以附錄的形式列出了主流IDE的使用、API文檔和源碼查閱、編程規範與最佳實踐、Java相關技術的學習路線等帶有強烈“工業”色彩的內容。

圖書目錄

目 錄
第1章 概述 1
1.1 Java語言的誕生及發展 1
1.1.1 Java的誕生 1
1.1.2 Java的發展歷程 1
1.2 Java語言的特點 2
1.3 Java平台及版本 4
1.3.1 平台組成 4
1.3.2 版本劃分 5
1.3.3 Java程式的種類 5
1.4 JDK安裝及環境配置 6
1.4.1 下載與安裝 6
1.4.2 JDK的目錄結構 7
1.4.3 配置環境變數 7
1.5 第一個Java程式 10
1.5.1 編輯源檔案 10
1.5.2 編譯源檔案 11
1.5.3 運行類檔案 12
1.6 程式錯誤與調試 12
1.6.1 語法錯誤 13
1.6.2 運行時錯誤 14
1.6.3 邏輯錯誤 14
1.6.4 程式調試 14
習題1 15
實驗1 熟悉Java編程環境 15
第2章 基本類型 18
2.1 標識符 19
2.1.1 關鍵字 19
2.1.3 命名慣例和約定 20
2.2 變數與常量 21
2.2.1 變數 21
2.2.2 常量 21
2.3 整型 22
2.3.1 整型常量 22
2.3.2 整型變數 23
2.4 浮點型 23
2.4.2 浮點型變數 25
2.5 字元型 25
2.5.1 Unicode概述 25
2.5.2 字元型常量 26
2.5.3 字元型變數 28
2.6 布爾型 28
2.7 類型轉換 28
2.7.1 自動轉換 29
2.7.2 強制轉換 29
2.8 基本類型的包裝類 30
2.8.1 包裝類 30
2.8.2 包裝類的主要方法 31
2.8.3 自動裝箱和拆箱 32
習題2 33
第3章 運算符與表達式 34
3.1 概述 34
3.3.1 四則運算 35
3.3.2 自增與自減 37
3.4 關係和條件運算符 38
3.6 位運算符 40
3.6.1 按位運算符 40
3.7 表達式 43
習題3 44
實驗2 運算符與表達式 45
第4章 程式流程控制 46
4.1 語句及語句塊 46
4.2 分支結構 47
4.2.1 if語句 47
4.2.2 if-else語句 48
4.2.3 if及if-else的嵌套 49
4.2.4 switch語句 51
4.3 循環結構 54
4.3.1 while語句 54
4.3.2 do-while語句 55
4.3.3 for語句 56
4.3.4 break與continue語句 59
4.3.5 循環的嵌套 60
4.3.6 帶標號的break與continue語句 62
4.4 綜合範例1:簡單人機互動 63
習題4 64
實驗3 程式流程控制 66
第5章 數組 68
5.1 一維數組 68
5.1.1 聲明一維數組 68
5.1.2 創建一維數組 68
5.1.3 訪問一維數組 69
5.1.4 疊代型for循環 71
5.2 綜合範例2:約瑟夫環問題 73
5.3 二維數組 74
5.3.1 聲明和創建二維數組 74
5.3.2 二維數組的存儲結構 75
5.3.3 訪問二維數組 75
5.4 綜合範例3:螺旋方陣 77
習題5 78
實驗4 數組 79
第6章 類與對象 80
6.1 面向對象概述 80
6.1.1 產生背景 80
6.1.2 相關概念 81
6.1.3 基本特性 82
6.2 類 84
6.2.1 類的定義格式 84
6.2.2 變數的作用域 85
6.3 方法 86
6.3.1 方法定義 86
6.3.2 return語句 87
6.3.3 方法調用 88
6.3.4 方法重載 89
6.3.5 構造方法 90
6.3.6 this關鍵字 92
6.3.7 變長參數方法 94
6.4 包 95
6.4.1 包的概念 95
6.4.2 package語句 95
6.4.3 import語句 96
6.5 常用修飾符 98
6.5.1 訪問許可權修飾符 98
6.5.2 final和static 99
6.6 綜合範例4:單例模式 101
6.7 對象 102
6.7.1 對象的初始化 102
6.7.2 對象的引用 103
6.7.3 棧和堆 103
6.7.4 參數傳遞 104
6.7.5 垃圾回收 105
6.8 類的繼承 107
6.8.1 繼承的語法與圖形化表示 107
6.8.2 super關鍵字 109
6.8.3 構造方法的調用順序 110
6.8.4 方法重寫與運行時多態 111
6.8.5 對象造型與instanceof運算符 113
6.8.6 根類Object 114
6.8.7 對象的等價性 115
6.9 綜合範例5:簡單工廠模式 117
6.10 枚舉 119
習題6 122
實驗5 類與對象 125
第7章 抽象類、接口與嵌套類 127
7.1 抽象類 127
7.1.1 抽象方法 127
7.1.2 抽象類 127
7.2 接口 129
7.2.1 聲明接口 129
7.2.2 繼承接口 129
7.2.3 實現接口 130
7.3 抽象類與接口的比較 133
7.3.1 從語法層面 134
7.3.2 從設計層面 134
7.4 綜合範例6:適配器模式 137
7.5 嵌套類 138
7.5.1 靜態嵌套類 139
7.5.2 內部類 140
7.5.3 局部內部類 141
7.5.4 匿名內部類 142
習題7 144
實驗6 抽象類、接口與嵌套類 146
第8章 GUI編程 148
8.1 概述 148
8.1.1 AWT 148
8.1.2 Swing 148
8.1.3 SWT 149
8.2 Swing庫的架構 150
8.2.1 組件類的繼承關係 150
8.2.2 java.awt.Component類 151
8.2.3 java.awt.Container類 152
8.2.4 java.awt.Window類 153
8.2.5 java.awt.Frame類 154
8.2.6 JComponent類 154
8.3 容器組件 155
8.3.1 視窗:JFrame 155
8.3.2 面板:JPanel 156
8.3.3 可滾動面板:JScrollPane 158
8.3.4 分割面板:JSplitPane 159
8.3.5 分頁面板:JTabbedPane 161
8.4 標籤和圖片 163
8.4.1 標籤:JLabel 163
8.4.2 圖示/圖片:Icon/ImageIcon 165
8.5 按鈕 167
8.5.1 常規按鈕:JButton 167
8.5.2 開關按鈕:JToggleButton 169
8.5.3 單選按鈕:JRadioButton 171
8.5.4 複選按鈕:JCheckBox 172
8.6 文本組件 173
8.6.1 文本框:JTextField 173
8.6.2 密碼框:JPasswordField 175
8.6.3 文本區:JTextArea 176
8.7 可調節組件 178
8.7.1 進度條:JProgressBar 178
8.7.2 滾動條:JScrollBar 179
8.7.3 滑塊條:JSlider 181
8.8 選單和工具列 183
8.8.1 選單相關組件:JMenuBar/JMenu/JMenuItem 183
8.8.2 彈出選單:JPopupMenu 186
8.8.3 工具列:JToolBar 187
8.9 框線、顏色和字型 189
8.9.1 框線:Border 189
8.9.2 顏色:java.awt.Color 191
8.9.3 字型:java.awt.Font 193
8.10 布局管理 194
8.10.1 布局管理器:LayoutManager接口 195
8.10.2 流式布局:FlowLayout類 195
8.10.3 邊界布局:BorderLayout類 197
8.10.4 格線布局:GridLayout類 198
8.10.5 格線包布局:GridBagLayout類 199
8.10.6 空布局:絕對定位 202
8.11 綜合範例7:仿QQ聊天視窗 202
8.12 事件處理 206
8.12.1 Java的事件處理模型 206
8.12.2 事件監聽器類的編寫方式 208
8.12.3 常用事件類 212
8.12.4 常用事件監聽器接口 212
習題8 214
實驗7 Swing基本組件 215
第9章 Swing高級組件 217
9.1 對話框 217
9.1.1 基本對話框:JDialog 217
9.1.2 顏色選擇器:JColorChooser 220
9.1.3 檔案選擇器:JFileChooser 221
9.1.4 選項面板:JOptionPane 223
9.2 編輯器 226
9.2.1 編輯器面板:JEditorPane 226
9.2.2 文本面板:JTextPane 228
9.3 列表和下拉列表 230
9.3.1 列表:JList 230
9.3.2 下拉列表:JComboBox 234
9.4 表格和樹 237
9.4.1 表格:JTable 237
9.4.2 樹:JTree 243
9.5 其他高級組件 251
9.5.1 工具提示:JToolTip 251
9.5.2 微調按鈕:JSpinner 253
9.5.3 內部視窗:JInternalFrame 255
習題9 257
實驗8 Swing高級組件 257
第10章 異常與處理 260
10.1 異常的概念和分類 260
10.1.1 異常的概念 260
10.1.2 異常的分類 261
10.2 異常處理及語法 263
10.2.1 異常的產生及處理 263
10.2.2 throw語句及throws子句 264
10.2.3 try-catch 266
10.2.4 finally 268
10.2.5 try-catch-finally的嵌套 270
10.3 異常類的主要方法 271
10.3.1 Throwable類的方法 271
10.3.2 Exception類的構造方法 272
10.4 自定義異常類 272
10.5 綜合範例8:用戶登錄 274
習題10 277
實驗9 異常與處理 277
第11章 I/O流與檔案 280
11.1 概述 280
11.1.1 I/O與流 280
11.1.2 流的分類 280
11.2 位元組流 281
11.2.1 位元組輸入流:InputStream 281
11.2.2 位元組輸出流:OutputStream 281
11.3 字元流 282
11.3.1 字元輸入流:Reader 282
11.3.2 字元輸出流:Writer 282
11.4 檔案流 284
11.4.1 File類 284
11.4.2 位元組檔案流:FileInputStream和FileOutputStream 287
11.4.3 字元檔案流:FileReader和FileWriter 287
11.5 綜合範例9:檔案複製器 288
11.6 緩衝流 290
11.6.1 位元組緩衝流:BufferedInputStream和BufferedOutputStream 290
11.6.2 字元緩衝流:BufferedReader和BufferedWriter 293
11.7 轉換流 295
11.8 列印流 296
11.9 數據流 299
11.10 對象流 302
11.11 綜合範例10:程式快照機 303
11.12 其他常用I/O類 305
11.12.1 讀入器:Scanner 306
11.12.2 控制台:Console 308
習題11 311
實驗10 I/O流與檔案 311
第12章 多執行緒與並發 313
12.1 概述 313
12.1.1 程式、進程與執行緒 313
12.1.2 多任務與多執行緒 313
12.1.3 執行緒狀態及調度 314
12.1.4 Thread類與Runnable接口 315
12.2 執行緒狀態控制 316
12.2.1 start方法 317
12.2.2 sleep方法 317
12.2.3 join方法 318
12.2.4 yield方法 319
12.2.5 interrupt方法 320
12.3 綜合範例11:執行緒狀態切換演示 321
12.4 並發控制 323
12.4.1 同步與異步 323
12.4.2 synchronized修飾符 324
12.4.3 wait、notify和notifyAll方法 325
12.5 綜合範例12:生產者與消費者問題 326
習題12 328
實驗11 多執行緒與並發 329
第13章 容器框架與泛型 330
13.1 核心接口 330
13.1.1 容器根接口:Collection 330
13.1.2 集合接口:Set 331
13.1.3 列表接口:List 332
13.1.4 佇列接口:Queue 332
13.1.5 映射接口:Map 333
13.1.6 遍歷容器 333
13.2 常用集合類 337
13.2.1 哈希集合:HashSet和LinkedHashSet 337
13.2.2 樹形集合:TreeSet 340
13.3 綜合範例13:產品排序 340
13.4 常用列表類 343
13.4.1 順序列表:ArrayList 343
13.4.2 鏈式列表:LinkedList 345
13.5 常用映射類 346
13.5.1 哈希映射:HashMap和LinkedHashMap 347
13.5.2 樹形映射:TreeMap 349
13.6 遺留容器類 349
13.6.1 向量:Vector 350
13.6.2 哈希表:Hashtable 351
13.7 容器工具類 351
13.7.1 Collections 351
13.7.2 Arrays 352
13.8 泛型 353
13.8.1 為什麼需要泛型 353
13.8.2 泛型基礎 355
13.8.3 泛型不是協變的 355
13.8.4 類型通配符 356
13.8.5 有界泛型 357
13.8.6 泛型方法 357
習題13 359
實驗12 容器框架與泛型 359
第14章 字元串與正則表達式 360
14.1 String類 360
14.1.1 字元串是對象 360
14.1.2 字元串對象的等價性 361
14.1.3 常用方法 362
14.2 字元串格式化 365
14.2.1 Formatter類 365
14.2.2 格式說明與修飾符 367
14.3 綜合範例14:簡單文本搜尋引擎 371
14.4 StringBuffer類 373
14.4.1 可變與不可變 373
14.4.2 StringBuffer類 374
14.5.1 概述 377
14.5.2 Pattern類 378
14.5.3 Matcher類 379
14.5.4 正則表達式語法 382
14.6 綜合範例15:用戶註冊驗證 384
習題14 385
實驗13 字元串與正則表達式 386
第15章 國際化與本地化 387
15.1 概述 387
15.2 國際化相關類 387
15.2.1 區域:java.util.Locale 387
15.2.2 資源包:java.util.ResourceBundle 389
15.2.3 訊息格式化:java.text.MessageFormat 391
15.3 綜合範例16:多語言版本的登錄視窗 393
習題15 396
第16章 類型信息與反射 397
16.1 類型信息 397
16.1.1 Class類 397
16.1.2 獲得Class對象 398
16.2 成員信息 401
16.2.1 Member接口 401
16.2.2 Field類 402
16.2.3 Method類 403
16.2.4 Constructor類 405
習題16 407
實驗14 類型信息與反射 408
第17章 元數據與註解 409
17.1 概述 409
17.1.1 註解的定義與使用 409
17.1.2 訪問註解信息 410
17.2 標準註解 412
17.2.1 @Override 412
17.2.2 @Deprecated 413
17.2.3 @SuppressWarnings 414
17.3 文檔註解及API文檔生成 416
17.3.1 文檔註解 417
17.3.2 生成API文檔 419
17.4 元註解 420
17.4.1 @Target 420
17.4.2 @Retention 422
17.4.3 @Documented 422
17.4.4 @Inherited 423
17.5 綜合範例17:簡易單元測試工具 424
附錄A Eclipse使用簡介 428
附錄B 查閱API文檔和源碼 433
附錄C Java編碼規範與最佳實踐 437
附錄D Java學習路線 445

相關詞條

熱門詞條

聯絡我們