Java程序設計案例教程(微課版)(第2版)
胡運玲 王海燕 武洪萍
相關主題
商品描述
Java作為編程界的常青樹,從大型項目的核心架構,到企業的快速開發,都占據技術的核心地位。本書以山東省職業教育精品資源共享課程為建設基礎,以省級名師工作室為依托,由山東省高校黃大年式教師團隊核心人員組成課程開發團隊開發,凸顯職業教育的類型特點。
本書采用項目引領、任務分解、任務實踐、項目實施、項目實訓的模式編寫,包括9個項目:迎新電子屏的制作—Java概述、學生“畫像”—Java語法基礎、猜數字遊戲—Java流程控制、空氣質量分析—數組、助農超市購物程序—面向對象基礎、垃圾分類程序—面向對象高級、異常考試成績的處理—異常處理、年齡計算器—常用Java API、詞頻統計—集合框架類。每個項目通過情景導入引出教學內容,明確學習目標。在知識點的介紹中配有生動有趣的任務實踐,以幫助讀者達到學以致用的目的。
本書可作為職業院校或應用型本科院校計算機相關專業Java程序設計課程的教材或教學參考書,也可作為廣大計算機從業者和愛好者的學習參考用書。學習完本書內容,讀者既可以繼續學習軟件開發相關的Java Web和框架技術,也可以學習大數據、雲計算相關的開發及運維技術。
作者簡介
胡運玲,副教授,山東信息職業技術學院教師,山東省精品課程負責人、山東省職業教育精品資源共享課主講教師、市級“課程思政”精品課負責人,具有豐富的專業建設和課程開發經驗。主編參編了《C語言程序設計》《數據庫原理及應用》等多本高職高專規劃教材,發表專業論文十余篇,主持參與了教育部科技處、山東省教育廳等數十項課題,具有豐富的科研經驗。指導學生參加“藍橋杯"大賽、職業院校技能大賽多次獲得國家、省級獎項。
目錄大綱
目 錄
項目1
迎新電子屏的制作——Java概述 1
情景導入 1
項目目標 1
知識儲備 1
任務1.1 了解Java的發展 1
1.1.1 計算機語言的發展史 2
1.1.2 Java的發展史 2
1.1.3 Java的主要特點 3
1.1.4 Java體系的分類 3
【任務實踐1-1】 初識Java程序 4
任務1.2 Java開發環境的搭建 5
1.2.1 JDK的下載與安裝 5
1.2.2 環境變量的配置 7
1.2.3 安裝環境的測試 8
任務1.3 編寫第 一個Java程序 9
1.3.1 Java源程序的編寫 9
1.3.2 Java程序的編譯 9
1.3.3 Java程序的解釋執行 11
1.3.4 Java程序的編寫規則 11
【任務實踐1-2】 顯示個人打卡信息 12
任務1.4 掌握集成開發環境的使用 12
1.4.1 Eclipse的下載與安裝 13
1.4.2 在Eclipse下新建Java項目 13
1.4.3 在Eclipse下編寫Java程序 16
1.4.4 在Eclipse下運行Java程序 18
【任務實踐1-3】 幾何圖形的顯示 20
項目分析 20
項目實施 21
項目實訓 歡度國慶電子屏的制作 21
小結 22
自我檢測 23
項目2
學生“畫像”——Java語法
基礎 24
情景導入 24
項目目標 24
知識儲備 25
任務2.1 Java的關鍵字與標識符 25
2.1.1 Java的關鍵字 25
2.1.2 Java的標識符 25
任務2.2 常量與變量 26
2.2.1 常量 26
2.2.2 變量 27
任務2.3 Java的基本數據類型 27
2.3.1 整型 28
2.3.2 浮點型 30
2.3.3 字符型 30
2.3.4 布爾型 32
【任務實踐2-1】 自我介紹 32
任務2.4 數據的輸入與輸出 33
2.4.1 從控制臺輸出數據 33
2.4.2 從控制臺輸入數據 34
【任務實踐2-2】 購房貸款計算 35
任務2.5 運算符與表達式 36
2.5.1 算術運算符與算術表達式 36
【任務實踐2-3】 計算BMI 38
【任務實踐2-4】 數字反轉 39
2.5.2 關系運算符與關系表達式 39
2.5.3 邏輯運算符與邏輯表達式 40
2.5.4 賦值運算符與賦值表達式 42
【任務實踐2-5】 數據交換 43
2.5.5 條件運算符與條件表達式 43
任務2.6 數據類型轉換 44
2.6.1 自動類型轉換 44
2.6.2 強制類型轉換 45
【任務實踐2-6】 求平均值 46
項目分析 46
項目實施 46
項目實訓 語法基礎的綜合應用—文具
商城庫存清單 48
小結 49
自我檢測 49
項目3
猜數字遊戲——Java流程控制 51
情景導入 51
項目目標 51
知識儲備 51
任務3.1 了解程序的基本結構 51
任務3.2 分支結構 52
3.2.1 if單分支結構 52
3.2.2 if-else雙分支結構 53
【任務實踐3-1】 立春習俗活動指南 54
3.2.3 if-else if-else多分支結構 55
3.2.4 switch多分支結構 56
3.2.5 分支結構的嵌套 58
【任務實踐3-2】 分時問候 59
【任務實踐3-3】 簡單計算器 60
任務3.3 循環結構和跳轉語句 62
3.3.1 while循環 62
【任務實踐3-4】 判斷一個數是否為
素數 63
3.3.2 do-while循環 63
3.3.3 for循環 65
【任務實踐3-5】 查找水仙花數 66
3.3.4 跳轉語句 67
3.3.5 循環結構的嵌套 68
【任務實踐3-6】 九九乘法表 69
任務3.4 方法 70
3.4.1 方法的定義與調用 70
3.4.2 遞歸 72
【任務實踐3-7】 遞歸法顯示斐波那契
數列 73
項目分析 74
項目實施 74
項目實訓 綜合應用—剪刀、
石頭、布 75
小結 77
自我檢測 78
項目4
空氣質量分析——數組 81
情景導入 81
項目目標 81
知識儲備 82
任務4.1 一維數組的定義與初始化 82
4.1.1 一維數組的定義 82
4.1.2 一維數組的靜態初始化 83
【任務實踐4-1】 定義指定長度的
數組 84
任務4.2 一維數組元素的訪問 84
4.2.1 索引法訪問數組元素 84
4.2.2 數組元素的查找 85
【任務實踐4-2】 中文大寫數字對照 86
【任務實踐4-3】 知識競賽隨機選人 87
【任務實踐4-4】 生成斐波那契數列 87
【任務實踐4-5】 歌手大賽評分程序 88
任務4.3 數組元素的移動 89
【任務實踐4-6】 數據清洗 91
【任務實踐4-7】 數據的逆序存放 92
任務4.4 一維數組元素的排序 93
4.4.1 選擇排序 93
4.4.2 冒泡排序 94
4.4.3 借助Arrays.sort()方法進行
排序 96
【任務實踐4-8】 運動大排名 97
任務4.5 二維數組的定義與初始化 97
4.5.1 二維數組的定義 98
4.5.2 二維數組的靜態初始化 99
任務4.6 二維數組元素的訪問 99
【任務實踐4-9】 矩陣的轉置 100
【任務實踐4-10】 多門課考試成績的
統計 101
【任務實踐4-11】 楊輝三角形 102
項目分析 104
項目實施 104
項目實訓 數組的綜合應用—射擊
選手的選拔 105
小結 106
自我檢測 107
項目5
助農超市購物程序——面向對象
基礎 109
情景導入 109
項目目標 109
知識儲備 109
任務5.1 面向對象的特征 109
任務5.2 類與對象 110
5.2.1 類的定義 111
5.2.2 對象的創建與使用 111
【任務實踐5-1】 購買火車票 113
5.2.3 構造方法 114
5.2.4 this關鍵字 116
【任務實踐5-2】 智能電視機的
使用 117
【任務實踐5-3】 賬號的充值與
消費 119
5.2.5 static關鍵字 120
【任務實踐5-4】 共飲同井水 122
5.2.6 訪問權限修飾符 123
任務5.3 繼承 124
5.3.1 繼承的概念 124
5.3.2 方法的重寫 125
5.3.3 super關鍵字 126
【任務實踐5-5】 卡車與火車的
運費 129
項目分析 130
項目實施 130
項目實訓 網上點餐系統 132
項目小結 135
自我檢測 136
項目6
垃圾分類程序——面向對象
高級 138
情景導入 138
項目目標 138
知識儲備 139
任務6.1 抽象類 139
任務6.2 接口 140
6.2.1 接口的概念 140
6.2.2 接口的定義與實現 140
【任務實踐6-1】 組裝一臺計算機 142
【任務實踐6-2】 USB接口的
實現 144
任務6.3 多態 146
6.3.1 多態的概念 146
6.3.2 靜態多態 147
6.3.3 動態多態 148
6.3.4 instanceof運算符 150
【任務實踐6-3】 動物樂園 151
項目分析 153
項目實施 154
項目實訓 寵物之家 156
項目小結 159
自我檢測 159
項目7
異常考試成績的處理——異常
處理 161
情景導入 161
項目目標 161
知識儲備 161
任務7.1 異常處理的概念 161
任務7.2 異常處理 163
7.2.1 try-catch語句和finally
代碼塊 163
7.2.2 throws關鍵字 165
7.2.3 throw關鍵字 167
【任務實踐7-1】 銀行余額不足
異常 169
【任務實踐7-2】 年齡和性別的異常
處理 171
項目分析 173
項目實施 173
項目實訓 計算機異常處理的
模擬 174
項目小結 176
自我檢測 177
項目8
年齡計算器——常用
Java API 178
情景導入 178
項目目標 178
知識儲備 178
任務8.1 認識Object類 178
8.1.1 toString()方法 179
8.1.2 equals()方法 180
【任務實踐8-1】 兩只完全相同的
寵物 181
任務8.2 認識字符串類 182
8.2.1 String類 183
【任務實踐8-2】 從身份證號中提取
性別 186
【任務實踐8-3】 模擬用戶登錄 186
8.2.2 StringBuffer類 187
【任務實踐8-4】 名字脫敏 189
任務8.3 掌握隨機數的產生 190
8.3.1 Math類 190
【任務實踐8-5】 生成驗證碼 191
8.3.2 Random類 191
【任務實踐8-6】 抽取幸運觀眾 193
任務8.4 認識基本數據類型包裝類 194
任務8.5 日期時間類 195
8.5.1 LocalDate類 195
8.5.2 LocalTime類 197
8.5.3 LocalDateTime類 198
【任務實踐8-7】 計算2月天數 199
【任務實踐8-8】 國慶倒計時 200
項目分析 200
項目實施 200
項目實訓 《紅樓夢》中人物出現次數的
統計 201
項目小結 202
自我檢測 203
項目9
詞頻統計——集合框架類 205
情景導入 205
項目目標 205
知識儲備 206
任務9.1 認識集合框架類 206
任務9.2 Collection接口 206
任務9.3 List接口 207
9.3.1 List接口簡介 207
9.3.2 ArrayList集合 207
【任務實踐9-1】 我要記單詞 209
任務9.4 泛型—鉆石操作符 210
任務9.5 Iterator接口 211
【任務實踐9-2】 管理單詞列表 213
任務9.6 foreach循環 215
任務9.7 Set接口 216
9.7.1 Set接口簡介 216
9.7.2 HashSet集合 216
【任務實踐9-3】 簡單的學生成績統計
分析 217
【任務實踐9-4】 抽取中獎號碼 219
任務9.8 Map接口 220
9.8.1 Map接口簡介 220
9.8.2 HashMap集合 221
任務9.9 Collections類 222
9.9.1 Comparable接口 223
9.9.2 Comparator接口 223
【任務實踐9-5】 制作旅遊城市熱點
排行榜 225
項目分析 226
項目實施 227
項目實訓 簡單的圖書管理系統 228
項目小結 231
自我檢測 232