翻轉工作室:粘添壽
前 言
本翻轉電子書是針對翻轉教學法設計之教材,提供學生課前預習或課後複習閱讀使用。學生閱讀本教材如有不瞭解的地方,可以隨時點選『解說影片』收視 YouTube 視訊,老師也可在課堂上播放影片。
我們的構想是,在課堂上儘量給學生有事情做,老師講課的時間越短越好,提高學生與老師之間互動機會。因此,我們翻轉電子書內提供許多程式範例,老師解釋範例的製作技巧後,讓學生自主輸入練習,接著再利用自我挑戰題目讓學生自主思考。當學生遇到問題時,老師方可即時給予指導。每次上課,做 2~3 題範例,與 1~2 題自我挑戰題目,一個學期下來,學生至少練習與挑戰七八十題目,應該會很有收穫才對。因此,每次上課老師講課(或撥放影片)的時間很短,有足夠時間讓學生發問與指導,也可拉近學生與老師之間距離。缺課或遲到的同學也可自行閱讀電子書與收視講解影片。
我們將 Java 程式語言分為(一)與(二)兩部分,前者借用 Java 語言訓練學生程式邏輯推演能力,後者再針對物件導向的功能介紹。為了縮短學生對程式之間的距離,程式範例與自我挑戰題目,我們都儘量選取日常生活中可能遇到情境當題材。兩份教材足夠供應兩個學期的授課內容,但教師也可自行選定哪些章節授課,不必要受限制。
順祝 平安 喜樂 !!
粘添壽 敬上 於高雄
URL:www.tsnien.idv.tw
E-mail:tsnien@csu.edu.tw
目 錄
第一章 JDK 安裝與開發步驟
1-1 何謂程式語言? 1
1-1-1 編寫劇本的工具 1
1-1-2 高階語言與機械語言 3
1-2 建立 Java 程式開發環境 4
1-2-1 Java JDK套件安裝 5
1-2-2 測試 JDK 執行環境 10
1-2-3 Java DOC 文件查詢 12
1-3 Windows 檔案結構與常用命令 13
1-3-1 Windows 檔案結構 14
1-3-2 Windows 常用命令 15
1-4 Java 程式開發 16
1-4-1 程式編輯工具 - NotePad 16
1-4-2 一般程式開發程序 17
1-4-3 Java 程式開發步驟 19
1-5 Java 程式範例
1-5-1 範例研討:翻轉教室公告 23
1-5-2自我挑戰:上課注意事項 24
第二章 一維陣列
2-1 一維陣列 1
2-1-1 一維陣列結構 1
2-1-2 陣列動態宣告 2
2-1-3 陣列宣告並給予初值 3
2-2 一維陣列運用 3
2-2-1 範例研討:印出股票歷史價 3
2-2-2 範例研討:印出平均股價 5
2-2-3 自我挑戰:印出最高與最低股價 6
2-3 線性搜尋法 7
2-3-1 線性搜尋演算法 7
2-3-3 範例研討:大樂透電腦選號 9
2-4 泡沫排序法 11
2-4-1 泡沫排序演算法 11
2-4-2 範例研討:成績高低排序 12
2-4-3 自我挑戰:列印股票高低排序 15
2-5 專題研討 17
2-5-1 範例研討:記錄最近 30 天收盤價 17
2-5-2 自我挑戰:股票走勢分析系統 21
2-5-3 自我挑戰:印製國字收據 26
2-5-4 自我挑戰:統計滿意度平均值 28
第三章 二維陣列
3-1 二維陣列 1
3-1-1 二維陣列結構 1
3-1-2 二維陣列宣告 2
3-1-3 範例研討:印出二維陣列內容 3
3-1-4 範例研討:將二維陣列內容加倍 4
3-1-5 自我挑戰:印出最高與最低成績者 6
3-1-6 自我挑戰:成績查詢系統 8
3-2 陣列資料儲存 9
3-2-1 陣列資料型態 9
3-2-2 範例研討:印出班級成績單 10
3-2-3 自我挑戰:印出已排序成績單 12
3-3 專題研討 13
3-3-1 自我挑戰:列印直式唐詩 13
3-3-2 自我挑戰:大樂透對獎系統 16
第四章 陣列資料結構
4-1 資料結構 1
4-2 無序陣列結構 1
4-2-1 無序陣列結構簡介 1
4-2-2 範例研討:建立無序陣列 2
4-2-3自我挑戰:無序陣列中元素處理 7
4-3 有序陣列結構 11
4-3-1 有序陣列結構簡介 11
4-3-2 範例研討:建立有序陣列 12
4-3-3 範例研討:二分搜尋法 14
4-3-4 範例研討:有序陣列插入元素 18
4-3-5 自我挑戰:有序陣列元素處理 23
4-4 專題製作 26
4-4-1 範例研討:無序成績管理系統 27
4-4-2 自我挑戰:有序成績管理系統 35
4-5 佇列資料結構 36
4-5-1 陣列佇列結構 36
4-5-2 範例研討:醫院掛號系統 37
4-5-3 自我挑戰:醫生看診系統 41
4-6 堆疊資料結構 45
4-6-1 陣列堆疊結構 45
4-6-2 範例研討:走迷宮演練 45
4-6-3 自我挑戰:迷宮闖關遊戲 51
第五章 物件變數與物件陣列
5-1 真實環境程式化 1
5-1-1 真實現象數位化 1
5-1-2 被動式描述技巧 – 結構變數 4
5-1-3 主動式描述技巧 – 物件變數 7
5-2 物件的概論 8
5-2-1 物件的屬性 8
5-2-2 物件的產生 8
5-2-3 物件的成員 9
5-2-4 物件的種類 9
5-2-5 類別宣告與物件產生 10
5-3 物件的傳統運用 12
5-3-1 範例研討:規劃員工薪資資料 12
5-3-2 範例研討:薪資扣繳所得稅 16
5-3-3 自我挑戰:產生商品資料 18
5-4 物件陣列的運用 21
5-4-1 物件陣列的宣告 21
5-3-2 範例研討:簡單薪資管理系統 22
5-4-3 範例研討:超商販賣系統 27
5-4-4 自我挑戰:超商庫存管理系統 33
5-5 專題製作 – 真健康美食餐廳 39
5-5-1 範例研討:建立『菜單價目表』 40
5-5-2 範例研討:建立『點菜系統』 44
5-5-3 自我挑戰:建立『餐廳管理系統』 48
第六章 檔案輸入與輸出
6-1 檔案輸入/輸出模式 1
6-1-1 順序檔案與串流讀寫 1
6-1-2 紀錄檔案與緩衝器讀寫 2
6-2 記錄檔案的存取介面 4
6-2-1 檔案寫入介面 4
6-2-2 檔案輸出介面 5
6-3 紀錄檔案的輸出運用 6
6-3-1 物件陣列與記錄檔案 7
6-3-2 範例研討:登錄員工資料 7
6-3-3 自我挑戰:超商列印購物清單 12
6-4 紀錄檔案的輸入/輸出運用 15
6-4-1 記錄檔案輸出格式 15
6-4-2 範例研討:建立員工薪資資料 16
6-4-3 自我挑戰:列印員工薪資表 22
6-5 專題製作 26
6-5-1 範例研討:建立人事管理資訊系統 26
6-5-2 自我挑戰:超商商品管理系統 37
6-5-3 自我挑戰:倉儲管理系統 46
第七章 類別與物件產生
7-1 物件導向設計理念 1
7-1-1 軟體 IC – 物件 1
7-1-2 物件的成員 3
7-1-3 變數成員的屬性 3
7-1-4 方法成員的屬性 5
7-1-5 類別與物件的關聯 6
7-2 類別的產生 7
7-2-1 類別宣告語法 - class 7
7-2-2 方法成員的宣告 8
7-2-3 變數成員的宣告 9
7-2-4 主方法的宣告 – main() 10
7-3 物件的產生 11
7-3-1 物件產生敘述 – new() 11
7-3-2 範例研討:規劃通用型人事資料 12
7-3-3 自我挑戰:驗證身分證字號 24
7-4 靜態變數的應用 31
7-4-1 類別變數 - static 31
7-4-2 範例研討:智慧型庫存管理系統 32
7-4-3 範例研討:停車場管理系統 36
7-5 專題製作 – 儲蓄存款系統 46
7-5-1 範例研討:步驟(1)建立存款帳戶規格 46
7-5-2 範例研討:步驟(2)建立儲蓄存款系統 51
7-5-3 自我挑戰:步驟(3)建立交易檔規格 61
7-5-4 自我挑戰:步驟(4)建立安全性存款系統 62
第八章 方法與方法庫產生
8-1 物件方法 1
8-1-1 物件方法與類別方法 1
8-1-2 物件方法宣告與產生 2
8-1-3 範例研討:製作時間運算工具 3
8-1-4 自我挑戰:遊樂場計費系統 11
8-2 類別方法 14
8-2-1 類別方法宣告與引用 14
8-2-2 範例研討:製作日期計算工具 15
8-2-3 自我挑戰:預估葡萄成長採收日期 22
8-3方法庫與套件包裝 26
8-3-1 Java 套件格式 26
8-3-2 套件編譯語法 - package 28
8-3-3 範例研討:時間/日期工具套件 31
8-4 專題製作 38
8-4-1 自我挑戰:國際機場停車計費 38
8-4-2 自我挑戰:婦女預產期計算系統 40
第九章 繼承性與多形性運用
9-1 類別的繼承性 1
9-1-1 何謂繼承性 1
9-1-2 繼承性的運用 1
9-1-3 繼承性的運用範例 3
9-1-4 類別繼承的語法 4
9-2 簡單的繼承關係 6
9-2-1 範例研討:建構人事資料 6
9-2-2 自我挑戰:建構客戶資料 12
9-3 覆蓋繼承成員 14
9-3-1 繼承性的覆蓋 14
9-3-2 範例研討:員工薪資資料建檔 14
9-3-3 自我挑戰:建立客戶會員資料 20
9-4 類別的多形性運用 24
9-4-1 何謂多形性 24
9-4-2 程式範例:多功能加法器 25
9-4-3 自我挑戰:多功能大小比較器 28