本書采用案例驅(qū)動的編寫模式,由淺入深、循序漸進(jìn)地將Java程序設(shè)計的理論知識和關(guān)鍵技術(shù)融入各個案例中,符合學(xué)習(xí)者的認(rèn)知規(guī)律。本書是編寫團(tuán)隊綜合了多年的Java教學(xué)經(jīng)驗,走訪企業(yè)并調(diào)研崗位需求,參考1+X證書評價考核的標(biāo)準(zhǔn)而編寫的,實用性強(qiáng)。
本書包含的主要知識點和技能點有Java簡介及開發(fā)環(huán)境的搭建、Java基本語法、流程控制和數(shù)組、面向?qū)ο蟪绦蛟O(shè)計、Java的常用API和集合框架等。最后一章為實戰(zhàn)開發(fā)案例——學(xué)生成績管理系統(tǒng)。
(1)校企 “雙元”合作開發(fā),依托省級精品課程和省級名師工作室,結(jié)合企業(yè)開發(fā)需求設(shè)計框架
(2)以“課證融合”為目標(biāo),參考大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能等級標(biāo)準(zhǔn)中涉及的Java技能要求。
(3)自然融入課程思政
(4)配套微課視頻,方便教學(xué)。
胡運玲,碩士,副教授,山東信息職業(yè)技術(shù)學(xué)院教師。從教近20年來,一直從事計算機(jī)類專業(yè)課教學(xué),講授課程包括C語言程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、Java程序設(shè)計、Java Web程序設(shè)計等。
模塊1
初識Java 1
1.1 Java語言的發(fā)展 1
1.1.1 計算機(jī)語言的發(fā)展史 1
1.1.2 Java語言的發(fā)展史 2
1.1.3 Java語言的主要特點 2
1.1.4 Java體系分類 3
1.2 Java開發(fā)環(huán)境的搭建 4
1.2.1 JDK的下載與安裝 4
1.2.2 環(huán)境變量的配置 8
1.2.3 安裝環(huán)境的測試 9
1.3 編寫第 一個Java程序 10
1.3.1 Java源程序的編寫 10
1.3.2 Java程序的編譯 10
1.3.3 Java程序的解釋執(zhí)行 12
1.3.4 Java程序的編寫規(guī)則 12
【案例1-1】 顯示個人打卡信息 13
1.4 Eclipse的安裝與使用 14
1.4.1 Eclipse的下載與安裝 14
1.4.2 在Eclipse下新建Java項目 14
1.4.3 Eclipse開發(fā)和運行Java程序 18
【案例1-2】 顯示菱形圖案 23
模塊小結(jié) 23
自我檢測 23
自我評價 24
模塊2
Java基本語法 25
2.1 Java的關(guān)鍵字和標(biāo)識符 25
2.1.1 Java的關(guān)鍵字 25
2.1.2 Java的標(biāo)識符 26
2.2 常量與變量 26
2.2.1 常量 27
2.2.2 變量 27
2.3 Java的基本數(shù)據(jù)類型 28
2.3.1 整型 28
2.3.2 浮點型 30
2.3.3 字符型 31
2.3.4 布爾型 33
【案例2-1】 自我介紹 33
2.4 數(shù)據(jù)的輸入與輸出 34
2.4.1 從控制臺輸出數(shù)據(jù) 34
2.4.2 從控制臺輸入數(shù)據(jù) 34
【案例2-2】 購房貸款計算 35
2.5 運算符與表達(dá)式 36
2.5.1 算術(shù)運算符與算術(shù)表達(dá)式 37
2.5.2 關(guān)系運算符與關(guān)系表達(dá)式 39
2.5.3 邏輯運算符與邏輯表達(dá)式 40
2.5.4 賦值運算符與賦值表達(dá)式 41
2.5.5 條件運算符與條件表達(dá)式 42
【案例2-3】 數(shù)字反轉(zhuǎn) 43
2.6 數(shù)據(jù)類型轉(zhuǎn)換 44
2.6.1 自動類型轉(zhuǎn)換 44
2.6.2 強(qiáng)制類型轉(zhuǎn)換 44
模塊小結(jié) 45
自我檢測 46
自我評價 47
模塊3
Java程序的流程控制 48
3.1 程序的基本結(jié)構(gòu) 48
3.2 分支結(jié)構(gòu) 50
3.2.1 if單分支結(jié)構(gòu) 50
3.2.2 if-else雙分支結(jié)構(gòu) 51
3.2.3 if-else if-else多分支結(jié)構(gòu) 52
3.2.4 switch多分支結(jié)構(gòu) 53
3.2.5 分支結(jié)構(gòu)的嵌套 55
【案例3-1】 分時問候 56
【案例3-2】 簡單計算器 57
3.3 循環(huán)結(jié)構(gòu)和跳轉(zhuǎn)語句 59
3.3.1 while循環(huán) 59
3.3.2 do-while循環(huán) 60
3.3.3 for循環(huán) 61
3.3.4 break和continue語句 63
3.3.5 循環(huán)結(jié)構(gòu)的嵌套 64
3.4 方法 66
【案例3-3】 猜數(shù)字游戲 70
【案例3-4】 趣味數(shù)學(xué)題 71
【案例3-5】 九九乘法表 72
模塊小結(jié) 73
自我檢測 74
自我評價 76
模塊4
數(shù)組 77
4.1 一維數(shù)組 77
4.1.1 一維數(shù)組的定義 77
4.1.2 一維數(shù)組的初始化 79
4.1.3 一維數(shù)組元素的訪問 79
4.1.4 一維數(shù)組的應(yīng)用 80
4.1.5 一維數(shù)組元素的移動 82
4.1.6 一維數(shù)組元素的排序 84
【案例4-1】 歌手大賽評分程序 88
【案例4-2】 射擊選手的選拔 89
4.2 二維數(shù)組 90
4.2.1 二維數(shù)組的定義 90
4.2.2 二維數(shù)組的初始化 92
4.2.3 二維數(shù)組的應(yīng)用 92
【案例4-3】 楊輝三角形 93
模塊小結(jié) 95
自我檢測 96
自我評價 97
模塊5
面向?qū)ο蠡A(chǔ) 98
5.1 面向?qū)ο蟮奶卣鳌?8
5.2 類與對象 99
5.2.1 類的定義 99
5.2.2 對象的創(chuàng)建與使用 100
5.2.3 構(gòu)造方法 101
5.2.4 this關(guān)鍵字 103
5.2.5 static關(guān)鍵字 104
5.2.6 訪問權(quán)限修飾符 106
【案例5-1】 寵物之家(一) 107
5.3 繼承 109
5.3.1 繼承的概念 109
5.3.2 方法的重寫 111
5.3.3 super關(guān)鍵字 111
【案例5-2】 寵物之家(二) 114
【案例5-3】 汽車租賃系統(tǒng)(一) 116
5.4 多態(tài) 119
5.4.1 多態(tài)的概念 119
5.4.2 靜態(tài)多態(tài) 119
5.4.3 動態(tài)多態(tài) 120
5.4.4 instanceof運算符 122
【案例5-4】 寵物之家(三) 123
【案例5-5】 汽車租賃系統(tǒng)(二) 126
模塊小結(jié) 128
自我檢測 129
自我評價 131
模塊6
面向?qū)ο蟾呒墶?32
6.1 抽象類 132
6.2 接口 133
6.2.1 接口的概念 133
6.2.2 接口的定義與實現(xiàn) 134
【案例6-1】 USB接口的實現(xiàn) 136
【案例6-2】 組裝一臺計算機(jī) 138
6.3 異常處理 140
6.3.1 什么是異!140
6.3.2 try-catch和finally 142
6.3.3 throws關(guān)鍵字 144
6.3.4 throw關(guān)鍵字 145
【案例6-3】 異常成績處理 146
模塊小結(jié) 148
自我檢測 148
自我評價 149
模塊7
常用Java API 150
7.1 Object類 150
7.1.1 toString()方法 150
7.1.2 equals()方法 152
【案例7-1】 兩只完全相同的寵物 153
7.2 字符串類 154
7.2.1 String類 155
7.2.2 StringBuffer類 158
【案例7-2】 統(tǒng)計《紅樓夢》中人物
出現(xiàn)的次數(shù) 160
7.3 隨機(jī)數(shù)的產(chǎn)生 161
7.3.1 Math類 161
7.3.2 Random類 162
【案例7-3】 抽取幸運觀眾 164
7.4 基本數(shù)據(jù)類型包裝類 166
7.5 日期時間類 168
7.5.1 Date類 168
7.5.2 Calendar類 169
【案例7-4】 日歷的顯示 170
模塊小結(jié) 171
自我檢測 172
自我評價 173
模塊8
集合框架 174
8.1 集合框架概述 174
8.2 Collection接口 175
8.3 List接口 175
8.3.1 List接口簡介 175
8.3.2 ArrayList集合 176
8.3.3 泛型 177
8.3.4 Iterator接口 178
8.3.5 foreach循環(huán) 181
【案例8-1】 簡單的圖書管理系統(tǒng) 181
8.4 Set接口 185
8.4.1 Set接口簡介 185
8.4.2 HashSet集合 185
【案例8-2】 抽取中獎號碼 187
8.5 Map接口 188
8.5.1 Map接口簡介 188
8.5.2 HashMap集合 188
【案例8-3】 英文詞頻統(tǒng)計 190
8.6 Collections類 191
8.6.1 Comparable接口 191
8.6.2 Comparator接口 195
【案例8-4】 英文詞頻統(tǒng)計升級版 198
模塊小結(jié) 199
自我檢測 200
自我評價 202
模塊9
綜合案例——學(xué)生成績管理
系統(tǒng) 203
9.1 需求分析 203
9.2 功能模塊分析 203
9.3 學(xué)生類的設(shè)計與實現(xiàn) 204
9.4 添加學(xué)生信息模塊 205
9.5 查看學(xué)生信息模塊 206
9.6 修改學(xué)生信息模塊 206
9.7 刪除學(xué)生信息模塊 207
9.8 對學(xué)生排序模塊 208
9.9 主界面模塊 210
模塊小結(jié) 212