內容簡介
本書主要講述Java編程的基本原理,並用便於編程人員理解的方式,在合理的
編程環境下,將各項原理套用於工程和科學領域。本書為您提供了創建和維護Java程式所需的原理、技術和工具,也為高級開發打下堅實的基礎。
圖書目錄
第Ⅰ部分 基 礎 知 識
第1章 Java入門 3
1.1 編程導論 3
1.1.1 機器語言 3
1.1.3 低級語言和高級語言 4
1.1.4 面向過程和面向對象 5
1.1.5 套用軟體和系統軟體 6
1.1.6 程式語言 7
1.2 算法、方法和類 11
1.3 構建一個Java程式 16
1.3.1 類的結構 19
1.3.2 main方法 19
1.4 print()和println()方法 22
1.5 編程風格 26
1.6 創建一個對話框 30
1.7 常見編程錯誤 34
1.8 本章小結 35
1.9 本章補充材料:計算機硬體和軟體 36
1.9.1 計算機存儲器 38
1.9.2 二進制補碼 38
1.9.3 字和地址 39
第2章 值、變數和運算 41
2.1 數值和算術運算 41
2.1.1 整數 42
2.1.2 浮點數值 43
2.1.3 字元值 44
2.1.4 轉義序列 46
2.1.5 布爾值 47
2.1.6 算術運算 47
2.1.7 整數除法 50
2.1.8 非運算 50
2.1.9 運算符的優先權和結合原則 51
2.1.10 字元串連線 52
2.2 變數和聲明 55
2.2.1 聲明語句 56
2.2.2 多重聲明 59
2.2.3 字元串聲明 60
2.2.4 記憶體清理 62
2.2.5 指定記憶體分配 64
2.3 final限定符 68
2.4 創建方法 73
2.5 套用 79
2.5.1 套用1:雷達速度監視 79
2.5.2 套用2:電話交換網路 81
2.6 常見編程錯誤 84
2.7 本章小結 85
2.8 本章補充材料:編程錯誤 87
2.8.1 編譯時和運行時錯誤 87
2.8.2 語法和邏輯錯誤 88
第3章 賦值和互動輸入 91
3.1 賦值運算 91
3.1.1 隱式的強制類型轉換 95
3.1.2 賦值語句的其他形式 96
3.1.3 累加 97
3.1.4 計數 99
3.2 格式化輸出 104
3.3 數學方法 111
3.3.1 顯式的強制類型轉換 115
3.3.2 轉換方法 115
3.4 互動式鍵盤輸入 121
3.4.1 StringTokenizer類 125
3.4.2 用戶輸入驗證 128
3.5 互動式對話框輸入 134
3.6 套用 145
3.6.1 套用1:酸雨 146
3.6.2 套用2:求指數函式的近似值 148
3.7 常見編程錯誤 154
3.8 本章小結 155
第4章 選擇結構 158
4.1 關係表達式 158
4.1.1 邏輯運算符 160
4.1.2 數值精度問題 162
4.2 if-else語句 164
4.2.1 複合語句 166
4.2.2 單分支選擇結構 169
4.3 嵌套式if語句 174
4.4 switch語句 179
4.5 套用 184
4.5.1 套用1:數據過濾 184
4.5.2 套用2:求解二次方程 186
4.6 常見編程錯誤 191
4.7 本章小結 193
4.8 本章補充材料:程式測試 195
第5章 循環結構 197
5.1 概述 197
5.1.1 先驗循環和後驗循環 198
5.1.2 固定計數循環與可變條件循環 198
5.2 while語句 200
5.3 互動式while循環 207
5.3.1 標記 213
5.3.2 break語句與continue語句 214
5.3.3 null語句 215
5.4 for語句 217
5.4.1 互動式for循環 223
5.4.2 嵌套循環 225
5.5 循環編程技巧 231
5.5.1 技巧1:循環內的互動輸入 231
5.5.2 技巧2:循環內的選擇語句 232
5.5.3 技巧3:求解一元函式 233
5.5.4 技巧4:互動循環控制 235
5.6 do-while語句 238
5.7 常見編程錯誤 242
5.8 本章小結 242
第6章 通用方法 246
6.1 方法與參數聲明 246
6.1.1 語句布局 252
6.1.2 方法占位程式 253
6.1.3 參數列表為空的方法 254
6.1.4 重載 254
6.2 返回單一值 258
6.3 套用 268
6.3.1 套用1:模擬拋硬幣 270
6.3.2 套用2:直角坐標與極坐標變換 272
6.4 變數作用域 284
6.4.1 作用域解析 287
6.4.2 內部塊與外部塊 288
6.5 常見編程錯誤 293
6.6 本章小結 294
第Ⅱ部分 數組和字元串引用類型
第7章 數組 299
7.1 一維數組 300
7.1.1 數組值的輸入和輸出 305
7.1.2 字元串數組 308
7.1.3 運行時指定數組維數 310
7.2 數組初始化 314
7.3 套用 321
7.3.1 套用1:統計數據分析 321
7.3.2 套用2:sort()方法和binarySearch()方法 324
7.4 數組作為參數 327
7.5 常見編程錯誤 331
7.6 本章小結 332
7.7 本章補充材料:搜尋算法和排序算法 332
7.7.1 搜尋算法 333
7.7.2 排序算法 340
第8章 多維數組 349
8.1 二維數組 349
8.1.1 二維數組作為參數 352
8.1.2 確定數組維數的高級技巧 354
8.1.3 多維數組 355
8.2 矩陣操作 358
8.3 套用 367
8.3.1 套用1:使用高斯消元法求解聯立線性方程 367
8.3.2 套用2:線性最小二乘曲線擬合 374
8.4 常見編程錯誤 380
8.5 本章小結 380
第9章 字元串和字元 383
9.1 String類 383
9.1.1 創建字元串 384
9.1.2 構造函式 385
9.1.3 字元串輸入和輸出 389
9.2 字元串處理 389
9.2.1 String類方法 389
9.2.2 其他字元串方法 394
9.2.3 Character類方法 396
9.2.4 轉換方法 398
9.3 StringBuffer類 401
9.4 套用 409
9.4.1 套用1:單詞計數 409
9.4.2 套用2:曲線繪製 412
9.5 常見編程錯誤 420
9.6 本章小結 421
第Ⅲ部分 類 的 創 建
第10章 類 425
10.1 基於對象的編程 425
10.2 類 428
10.2.1 類構造 429
10.2.2 術語 435
10.3 構造函式 438
10.4 套用 447
10.4.1 套用1:構造一個Elevator對象 447
10.4.2 套用2:氣泵模擬 451
10.5 常見編程錯誤 456
10.6 本章小結 456
10.7 本章補充材料:內部和外部 457
10.7.1 抽象和封裝 458
10.7.2 代碼復用性和擴展性 459
第11章 類的其他功能 460
11.1 成員賦值 460
11.2 其他類特性 464
11.2.1 類的作用域和可見性 465
11.2.2 靜態變數成員 467
11.3 套用 472
11.3.1 套用1:使用多個類進行氣泵模擬 472
11.3.2 套用2:值交換 478
11.4 類繼承 482
11.4.1 繼承 482
11.4.2 多態性 486
11.4.3 繼承圖 486
11.5 引用變數作為類成員 488
11.6 常見編程錯誤 494
11.7 本章小結 495
第Ⅳ部分 創建基於Swing程式包的圖形用戶界面
第12章 可視化編程基礎 499
12.1 基於事件的程式設計 499
12.1.1 基於事件的模型 501
12.1.2 容器層次結構 503
12.2 創建一個基於swing的視窗 505
12.3 添加一個關閉視窗的事件處理程式 509
12.3.1 事件委託模型 509
12.3.2 適配器和內部類 513
12.4 添加一個按鈕組件 520
12.4.1 添加一個按鈕 520
12.4.2 添加工具提示和快捷鍵 523
12.4.3 添加一個事件處理程式 525
12.5 常見編程錯誤 529
12.6 本章小結 529
第13章 其他組件和事件處理程式 534
13.1 添加多個組件 534
13.1.1 布局管理器 534
13.1.2 屬性表 537
13.1.3 添加事件處理程式 538
13.1.4 鍵盤焦點和Tab鍵控制 541
13.2 用於顯示的文本組件 542
13.2.1 添加JTextField組件 543
13.2.2 添加事件處理程式 546
13.2.3 設定字型和顏色 550
13.2.4 JTextArea組件 553
13.3 用於數據輸入的文本組件 557
13.3.1 創建焦點偵聽器類 561
13.3.2 輸入驗證再討論 566
13.4 添加複選框、單選按鈕和分組組件 569
13.4.1 複選框 569
13.4.2 單選按鈕 573
13.5 鍵盤輸入驗證 580
13.6 常見編程錯誤 586
13.7 本章小結 587
第Ⅴ部分 其他編程主題
第14章 檔案輸入/輸出 591
14.1 檔案和檔案流 591
14.1.1 檔案 591
14.1.2 檔案流對象 592
14.1.3 關閉檔案流對象 595
14.1.4 緩衝 595
14.2 讀寫字元檔案 597
14.2.1 嵌入式和互動式檔案名稱 601
14.2.2 讀取文本檔案 603
14.2.3 無緩衝輸入/輸出 606
14.3 讀寫位元組檔案 610
14.4 套用 616
14.4.1 套用1:花粉計數 616
14.4.2 套用2:檔案更新 620
14.5 隨機存取檔案 628
14.6 File類 638
14.7 常見編程錯誤 642
14.8 本章小結 643
14.9 本章補充材料:字元檔案和位元組檔案的存儲 647
第15章 數值方法 650
15.1 方程求解簡介 650
15.2 平分法 653
15.3 平分法改進 658
15.3.1 試位疊代法 659
15.3.2 改進的試位疊代法 661
15.4 割線法 666
15.5 數值積分 670
15.6 梯形公式 671
15.6.1 梯形公式的計算形式 672
15.6.2 梯形公式計算的示例 673
15.7 辛普森公式 674
15.8 常見編程錯誤 677
15.9 本章小結 678
第16章 其他性能 680
16.1 其他特性 680
16.1.1 其他計數制 680
16.1.2 flush()語句 680
16.1.3 條件表達式 681
16.2 位運算符 682
16.2.1 與運算符 683
16.2.2 或運算符 684
16.2.3 異或運算符 684
16.2.4 補碼運算符 685
16.2.5 移位運算符 686
16.3 命令行參數 687
16.4 本章小結 691
附錄A 運算符優先權表 692
附錄B Unicode字元集 694
附錄C 編譯執行Java程式 696
附錄D 獲取支持的地區代碼 698
附錄E 創建前導空格 700
附錄F 創建和使用程式包 702
附錄G 鍵盤輸入類 704
附錄H Applet 710
附錄I 實數存儲 711
附錄J 解決方案和原始碼 713