《Java程序設計項目化教程》從Java程序設計初學者的角度出發(fā),按照項目化課程的教學方法,通過虛擬的“師生結對編程”的形式詳細介紹了使用Java語言進行程序開發(fā)所需掌握的相關知識、技能,并著重強調開發(fā)人員需要養(yǎng)成的良好職業(yè)習慣。本書共9章,內(nèi)容包括走近Java程序、Java語法基礎、Java面向對象基礎、繼承和多態(tài)、異常、圖形、JavaI/O、多線程以及綜合案例等。每章精心設計了豐富有趣的項目實例,難易適中,趣味性強,便于教學和學生自學。本書適合作為高職院校計算機專業(yè)的Java程序設計課程的教材,也可作為相關培訓機構的輔導參考書,還可供從事程序開程序、測試及維護的技術人員與變成愛好者自學使用。
本書從Java程序設計初學者的角度出發(fā),按照項目化課程的教學方法,通過虛擬的“師生結對編程”的形式詳細介紹了使用Java語言進行程序開發(fā)所需掌握的相關知識、技能,并著重強調開發(fā)人員需要養(yǎng)成的良好職業(yè)習慣。本書共9章,內(nèi)容包括走近Java程序、Java語法基礎、Java面向對象基礎等。
前言
第1章 走進Java程序 1
1.1 Java 概述 1
1.2 面向對象編程 1
1.2.1 對象的定義2
1.2.2 類的概念 2
1.2.3 UML 簡介 3
1.3 J2SDK 簡介3
1.3.1 認識J2SDK4
1.3.2 J2SDK 下載4
1.3.3 JDK 的安裝4
1.3.4 測試安裝 5
1.3.5 JDK 的配置6
1.3.6 理解CLASSPATH 和SOURCEPATH 8
1.4 項目任務1:使用命令行開發(fā)Java 程序 9
1.4.1 編輯源文件 10
1.4.2 使用JavaC 編譯源文件 12
1.4.3 使用Java 命令運行程序 12
1.4.4 使用classpath 13
1.5 Java 集成開發(fā)工具簡介 13
1.6 項目任務2:使用Eclipse 開發(fā)Java 應用程序 14
1.6.1 Eclipse 多語言包的安裝 14
1.6.2 使用Eclipse IDE 開發(fā)Java 應用程序 15
1.6.3 相關配置 16
1.7 項目任務3:管理代碼17
1.7.1 使用sourcepath 18
1.7.2 package 包管理機制 18
1.7.3 import 導入機制20
1.8 自測題22 第2章 Java語法基礎 25
2.1Java 數(shù)據(jù)類型26
2.1.1 標識符26
2.1.2 Java 關鍵字 27
2.1.3 Java 基本數(shù)據(jù)類型 27
2.1.4 變量 28
2.1.5 引用變量 28
2.1.6 區(qū)分基本類型變量和引用變量 29
2.1.7 變量的賦值 30
2.1.8 類型轉換 31
2.2 項目任務4:定義變量32
2.2.1 整型類型 33
2.2.2 浮點數(shù)類型 34
2.2.3 布爾類型 35
2.2.4 字符數(shù)據(jù)類型36
2.2.5 字符串38
2.3 項目任務5:生成隨機價格 41
2.4 Java 操作符 42
2.4.1 自增/自減操作符 43
2.4.2 復合賦值操作符 44
2.4.3 移位操作符 44
2.4.4 布爾邏輯 45
2.4.5 布爾操作符 46
2.4.6 關系運算符 48
2.4.7 三元運算符 48
2.5 Java 注釋語句49
2.6 項目任務6:價格比較49
2.6.1 if 語句 50
2.6.2 switch 語句 53
2.6.3 while 循環(huán)54
2.6.4 do/while 循環(huán) 55
2.6.5 for 循環(huán) 56
2.6.6 break 關鍵字 57
2.6.7 continue 關鍵字58
2.6.8 嵌套循環(huán) 59
2.7 項目任務7:猜測次數(shù)統(tǒng)計 60
2.7.1靜態(tài)變量?60 4.3.1 訪問數(shù)組103
2.7.2常量61 4.3.2 引用數(shù)組104
2.7.3變量的作用域和生命周期61 4.3.3 數(shù)組初始化?105
2.8 自測題64 4.3.4 多維數(shù)組105
第3 章 Java 面向對象基礎67 4.3.5 數(shù)組類107
3.1對象和實例67 4.4 ArrayList108
3.2使用UML 設計類?67
3.3類的定義?68 4.6 枚舉?109
3.4實例變量?69 4.7 項目任務16:使用枚舉重構111
3.5項目任務8:添加類的屬性70 4.8 繼承和多態(tài)?112
3.6項目任務9:創(chuàng)建類的實例70 4.8.1 繼承的概念?112
3.7方法72 4.8.2 多態(tài)與is-a115
3.7.1方法的定義72 4.8.3 重新定義行為117
3.7.2方法的調用73 4.8.4 抽象方法和抽象類?119
3.7.3方法的調用棧73 4.8.5 終止繼承120
3.7.4靜態(tài)方法?75 4.8.6 java.lang.Object 120
3.7.5程序代碼的調試?76
4.5 項目任務15:學生注冊代碼實現(xiàn)108
4.9 接口?122
3.7.6遞歸方法?76
4.9.1 如何創(chuàng)建接口123
3.7.7漢諾塔問題77
4.9.2 實現(xiàn)接口123
3.8構造方法?79
4.9.3 接口的用途?124
3.8.1 默認構造方法79
4.9.4 項目任務17:計分策略?125
3.8.2 對象初始化81
4.10 集合131
4.10.2 Iterator 接口和迭代器132
3.8.3自定義構造方法?82
3.8.4方法重載?82 4.10.1 集合接口131
項目任務10:添加類的構造方法823.10
實現(xiàn)方法84 4.10.3 List 133
3.11項目任務11:實現(xiàn)類的方法86 4.10.4 Set135
3.12訪問權限86 4.10.5 Map 136
3.13項目任務12:限定數(shù)值范圍87 4.10.6 散列表?137
3.14項目任務13:代碼重構?89 4.10.7 項目任務18:Map 使用示例138
3.15實現(xiàn)tick 方法92 4.11 包裝類?140
3.15.1Timer 和TimerTask93 4.12 自測題?142
3.15.2內(nèi)部類和匿名內(nèi)部類93 第5章 異常149
3.16項目任務14:時鐘功能的實現(xiàn)?95 5.1 使用異常處理機制消除
3.17自測題97 程序錯誤?149
第4 章 繼承和多態(tài)100 5.2 異常的定義?150
4.1項目背景簡介100 5.3 異常處理152
4.2類間關系100 5.4 異常分類153
4.3數(shù)組?102 5.5 創(chuàng)建自己的異常154
5.5.1 正則表達式 154
5.5.2 項目任務19:自定義非檢查異常157
5.5.3 項目任務20:自定義檢查異常159
5.6 更多的異常處理160
5.7 自測題 161 第6章 圖形 165
6.1 SWT/JFace 簡介 165
6.2 SWT/JFace 常用組件 166
6.2.1 按鈕組件166
6.2.2 標簽組件167
6.2.3 文本框組件 168
6.2.4 組合框組件 170
6.2.5 列表框組件 172
6.2.6 菜單 173
6.3布局管理176
6.3.1 布局數(shù)據(jù)176
6.3.2 填充式布局 177
6.3.3 行布局 177
6.3.4 網(wǎng)格布局177
6.3.5 網(wǎng)格布局數(shù)據(jù) 178
6.3.6 表單布局180
6.4SWT 應用程序工作原理 184
6.5SWT 事件處理185
6.6幾種常見事件處理寫法186
6.6.1 匿名內(nèi)部類寫法187
6.6.2 命名內(nèi)部類寫法187
6.6.3 外部類寫法 187
6.6.4 實現(xiàn)監(jiān)聽接口的寫法 188
6.7項目任務21:完成猜價格游戲 188
6.7.1 制作猜價格游戲主界面188
6.7.2 添加主菜單 190
6.7.3 添加菜單項Action 190
6.7.4 處理SWT 事件 191
6.7.5 制作游戲參數(shù)配置界面198
6.8 項目任務22:完成SWT 時鐘程序206
6.8.1 導出JAR 文件207
6.8.2 添加JAR 引用208
6.8.3 創(chuàng)建App 主窗口程序208
6.8.4 制作批處理啟動的JAR 應用程序214
6.9自測題 217 第7 章 Java I/O 219
7.1 Java.io 包簡介 219
7.2 流的相關概念 219
7.3 流的分類220
7.4 字節(jié)流的層次架構 220
7.4.1 標準輸入/輸出流 221
7.4.2 FileInputStream 與FileOutputStream222
7.4.3 ByteArrayInputStream 與ByteArrayOutputStream 224
7.5 字符流的層次架構 225
7.6 轉換流 226
7.7 數(shù)據(jù)流 227
7.8 Object 流 228
7.9 文件 229
7.9.1 創(chuàng)建文件229
7.9.2 刪除文件231
7.9.3 使用臨時文件 232
7.9.4 項目任務23:學生名單 233
7.9.5 隨機RandomAccessFile 235
7.9.6 項目任務24:訪問和修改學生名單238
7.10自測題 243
第8章 多線程 245
8.1 多線程簡介 245
8.1.1 線程的概念 246
8.1.2 創(chuàng)建線程246
8.1.3 結束線程247
8.1.4 線程的生命周期247
8.1.5 線程的同步 250
8.1.6 線程的常用API 254
8.1.7 項目任務25:龜兔賽跑 254
8.1.8 項目任務26:添加新選手 258
8.2 多線程小結 259
8.3 自測題 259
第9 章 綜合案例--微波爐模擬程序261
9.3.2 使用事件源-監(jiān)聽器模型271
9.1 微波爐仿真項目簡介261 9.3.3 實現(xiàn)事件/監(jiān)聽271
9.2 程序UI 界面設計262 9.3.4 添加烹煮完成的音效284
9.3 根據(jù)程序狀態(tài)編寫程序270 9.3.5 添加美食圖像286
9.3.1 狀態(tài)分析270
參考文獻288