Java是目前功能強(qiáng)大,、最流行的網(wǎng)絡(luò)編程語言之一,,它完全面向?qū)ο蟆㈤_發(fā)效率高、與平臺(tái)無關(guān)是企業(yè)電子商務(wù)開發(fā),、信息建設(shè),、WEB應(yīng)用程序等應(yīng)用的首選技術(shù),。
本課程重點(diǎn)講述Java的程序設(shè)計(jì)技巧,,包括java語言基礎(chǔ)、面向?qū)ο髾C(jī)制,、圖形用戶界面設(shè)計(jì),、異常處理、輸入輸出流編程等內(nèi)容,。
一,、課程基本概況
課程中文名稱 | Java程序設(shè)計(jì)與開發(fā)技術(shù) | |||||||
課程英文名稱 | Java program design and development technology | 課程編號(hào) | 16232206x0 | |||||
課程類別 | □公共必修課 □公選課 □院級(jí)限選課 □學(xué)科基礎(chǔ)課 √專業(yè)基礎(chǔ)課 □專業(yè)限選課 □專業(yè)任選(拓展)課 □方向特色課(雙百班課程) | |||||||
總學(xué)時(shí) | 64 | 講授學(xué)時(shí) | 40 | 實(shí)驗(yàn)學(xué)時(shí) | 24 | |||
總學(xué)分 | 3 | 開課學(xué)院(部) | 信息學(xué)院 | 開課系(室) | 計(jì)算機(jī) | |||
授課對(duì)象 | 計(jì)算機(jī)科學(xué)與技術(shù) 本科 | |||||||
先修課程 | 《計(jì)算機(jī)基礎(chǔ)》 《C語言程序設(shè)計(jì)》 | |||||||
執(zhí)筆人 | 孫兵 | 審核人 | 審批人 | |||||
修訂時(shí)間 | 2015-05-15 | |||||||
二、課程簡(jiǎn)介
Java是目前功能強(qiáng)大,、最流行的網(wǎng)絡(luò)編程語言,,它完全面向?qū)ο蟆㈤_發(fā)效率高,、與平臺(tái)無關(guān)是企業(yè)電子商務(wù)開發(fā),、信息建設(shè),、WEB應(yīng)用程序等應(yīng)用的首選技術(shù),。本課程重點(diǎn)講述Java的程序設(shè)計(jì)技巧,包括java語言基礎(chǔ),、面向?qū)ο髾C(jī)制,、圖形用戶界面設(shè)計(jì),、異常處理、輸入輸出流編程等內(nèi)容,。
三,、課程教學(xué)總體目標(biāo)
本課程是以培養(yǎng)學(xué)生的程序設(shè)計(jì)能力為宗旨的一門課程,特別強(qiáng)調(diào)理論聯(lián)系實(shí)際,,注重教學(xué)的實(shí)踐環(huán)節(jié),。本課程旨在Java程序設(shè)計(jì)能力的培養(yǎng),其實(shí)踐性,、理論性,、綜合性都相當(dāng)強(qiáng)。要求學(xué)生在學(xué)完后,,能夠使用Java進(jìn)行一定的設(shè)計(jì)和開發(fā),,并掌握一定的Java程序設(shè)計(jì)技術(shù)的理論知識(shí)和分析技能,并能進(jìn)行網(wǎng)絡(luò)程序的設(shè)計(jì)與開發(fā)。通過本課程的學(xué)習(xí),,培養(yǎng)學(xué)生對(duì)Java程序設(shè)計(jì)和分析能力,,為獨(dú)立進(jìn)行Java程序設(shè)計(jì)奠定基礎(chǔ)。
四,、理論教學(xué)內(nèi)容及要求
第一章 Java入門
【教學(xué)目標(biāo)】 了解
【學(xué)時(shí)分配】 2學(xué)時(shí)
【授課方式】 講授教學(xué)
【授課內(nèi)容】
1.1 Java的地位
1.1.1 網(wǎng)絡(luò)地位
1.1.2 語言地位
1.1.3 需求地位
1.2 Java的特點(diǎn)
1.2.1 簡(jiǎn)單
1.2.2 面向?qū)ο?/p>
1.2.3 平臺(tái)無關(guān)
1.2.4 多線程
1.2.5 安全
1.2.6 動(dòng)態(tài)
1.3 安裝JDK
1.3.1 三種平臺(tái)簡(jiǎn)介
1.3.2 安裝Java SE平臺(tái)
1.4 Java程序的開發(fā)步驟
1.5 簡(jiǎn)單的Java應(yīng)用程序
1.5.1 源文件的編寫與保存
1.5.2 編譯
1.5.3 運(yùn)行
1.6 編程風(fēng)格
1.6.1 Allmans風(fēng)格
1.6.2 Kernighan風(fēng)格
1.6.3 注釋
1.7 Java之父——James Gosling
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):java程序及其執(zhí)行過程
難點(diǎn):無
第二章 基本數(shù)據(jù)類型與數(shù)組
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 4學(xué)時(shí)
【授課方式】 講授教學(xué)
【授課內(nèi)容】
2.1 標(biāo)識(shí)符與關(guān)鍵字
2.1.1 標(biāo)識(shí)符
2.1.2 Unicode字符集
2.1.3 關(guān)鍵字
2.2 基本數(shù)據(jù)類型
2.2.1 邏輯類型
2.2.2 整數(shù)類型
2.2.3 字符類型
2.2.4 浮點(diǎn)類型
2.3 類型轉(zhuǎn)換運(yùn)算
2.4 輸入,、輸出數(shù)據(jù)
2.4.1 輸入基本型數(shù)據(jù)
2.4.2 輸出基本型數(shù)據(jù)
2.5 數(shù)組
2.5.1 聲明數(shù)組
2.5.2 為數(shù)組分配元素
2.5.3 數(shù)組元素的使用
2.5.4 length的使用
2.5.5 數(shù)組的初始化
2.5.6 數(shù)組的引用
2.6 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):運(yùn)算符
難點(diǎn):數(shù)組
第三章 運(yùn)算符、表達(dá)式和語句
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 4學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
3.1 運(yùn)算符與表達(dá)式
3.1.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式
3.1.2 自增,,自減運(yùn)算符
3.1.3 算術(shù)混合運(yùn)算的精度
3.1.4 關(guān)系運(yùn)算符與關(guān)系表達(dá)式
3.1.5 邏輯運(yùn)算符與邏輯表達(dá)式
3.1.6 賦值運(yùn)算符與賦值表達(dá)式
3.1.7 位運(yùn)算符
3.1.8 instanceof運(yùn)算符
3.1.9 運(yùn)算符綜述
3.2 語句概述
3.3 if條件分支語句
3.3.1 if語句
3.3.2 if-else語句
3.3.3 if-else if-else語句
3.4 switch開關(guān)語句
3.5 循環(huán)語句
3.5.1 for循環(huán)語句
3.5.2 while循環(huán)
3.5.3 do-while循環(huán)
3.6 break和continue語句
3.7 for語句與數(shù)組
3.8 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):運(yùn)算符與表達(dá)式
難點(diǎn):循環(huán)語句
第四章 類與對(duì)象
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 8學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
4.1 編程語言的幾個(gè)發(fā)展階段
4.1.1 面向機(jī)器語言
4.1.2 面向過程語言
4.1.3 面向?qū)ο笳Z言
4.2 類
4.2.1 類聲明
4.2.2 類體
4.2.3 成員變量
4.2.4 方法
4.2.5 需要注意的問題
4.2.6 類的UML圖
4.3 構(gòu)造方法與對(duì)象的創(chuàng)建
4.3.1 構(gòu)造方法
4.3.2 創(chuàng)建對(duì)象
4.3.3 使用對(duì)象
4.3.4 對(duì)象的引用和實(shí)體
4.4 類與程序的基本結(jié)構(gòu)
4.5 參數(shù)傳值
4.5.1 傳值機(jī)制
4.5.2 基本數(shù)據(jù)類型參數(shù)的傳值
4.5.3 引用類型參數(shù)的傳值
4.6 對(duì)象的組合
4.6.1 組合與復(fù)用
4.6.2 類的關(guān)聯(lián)關(guān)系和依賴關(guān)系的UML圖
4.7 實(shí)例成員與類成員
4.7.1 實(shí)例變量和類變量的聲明
4.7.2 實(shí)例變量和類變量的區(qū)別
4.7.3 實(shí)例方法和類方法的定義
4.7.4 實(shí)例方法和類方法的區(qū)別
4.8 方法重載
4.8.1 方法重載的語法規(guī)則
4.8.2 避免重載出現(xiàn)歧義
4.9 this關(guān)鍵字
4.9.1 在構(gòu)造方法中使用this
4.9.2 在實(shí)例方法中使用this
4.10 包
4.10.1 包語句
4.10.2 有包名的類的存儲(chǔ)目錄
4.10.3 運(yùn)行有包名的主類
4.11 import語句
4.11.1 引入類庫(kù)中的類
4.11.2 引入自定義包中的類
4.12 訪問權(quán)限
4.12.1 何謂訪問權(quán)限
4.12.2 私有變量和私有方法
4.12.3 共有變量和共有方法
4.12.4 友好變量和友好方法
4.12.5 受保護(hù)的成員變量和方法
4.12.6 public類與友好類
4.13 基本類型的類封裝
4.13.1 Double和Float類
4.13.2 Byte,、Short、Integer,、Long類
4.13.3 Character類
4.14 對(duì)象數(shù)組
4.15 反編譯和文檔生成器
4.16 jar文件
4.17 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):類,、域和方法的定義,引用數(shù)據(jù)類型,、實(shí)例生成和幾類特殊的方法
難點(diǎn):變量作用域與參數(shù)傳遞
第五章 子類與繼承
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 4學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
5.1 子類與父類
5.1.1 聲明子類
5.1.2 類的樹形結(jié)構(gòu)
5.2 子類的繼承性
5.2.1 子類和父類在同一包中的繼承性
5.2.2 子類和父類不在同一包中的繼承性
5.2.3 繼承關(guān)系(Generalization)的UML圖
5.2.4 protected的進(jìn)一步說明
5.3 子類與對(duì)象
5.3.1 子類對(duì)象的特點(diǎn)
5.3.2 關(guān)于instanceof運(yùn)算符
5.4 成員變量的隱藏和方法重寫
5.4.1 成員變量的隱藏
5.4.2 方法重寫(Override)
5.5 super關(guān)鍵字
5.5.1 用super操作被隱藏的成員變量和方法
5.5.2 使用super調(diào)用父類的構(gòu)造方法
5.6 final關(guān)鍵字
5.6.1 final類
5.6.2 final方法
5.6.3 常量
5.7 對(duì)象的上轉(zhuǎn)型對(duì)象
5.8 繼承與多態(tài)
5.9 abstract類和abstract方法
5.10 面向抽象編程
5.11 開—閉原則
5.12 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):繼承
難點(diǎn): 抽象類
第六章 接口與實(shí)現(xiàn)
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 4學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
6.1 接口
6.2 實(shí)現(xiàn)接口
6.3 理解接口
6.4 接口的UML圖
6.5 接口回調(diào)
6.6 接口與多態(tài)
6.7 接口參數(shù)
6.8 abstract類與接口的比較
6.9 面向接口編程
6.10 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):接口
難點(diǎn):面向接口編程
第七章 內(nèi)部類與異常類
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 2學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
7.1 內(nèi)部類
7.2 匿名類
7.2.1 和子類有關(guān)的匿名類
7.2.2 和接口有關(guān)的匿名類
7.3 異常類
7.3.1 try-catch語句
7.3.2 自定義異常類
7.4 斷言
7.5 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):內(nèi)部類
難點(diǎn):匿名類
第八章 常用實(shí)用類
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 4學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
8.1 String類
8.1.1 構(gòu)造字符串對(duì)象
8.1.2 String類的常用方法
8.1.3 字符串與基本數(shù)據(jù)的相互轉(zhuǎn)化
8.1.4 對(duì)象的字符串表示
8.1.5 字符串與字符,、字節(jié)數(shù)組
8.1.6 正則表達(dá)式及字符串的替換與分解
8.2 StringTokenizer類
8.3 Scanner類
8.4 Date與Calendar類
8.4.1 Date類
8.4.2 Calendar類
8.5 日期的格式化
8.5.1 format方法
8.5.2 不同區(qū)域的星期格式
8.6 Math、BigInteger和Random類
8.6.1 Math類
8.6.2 BigInteger類
8.6.3 Random類
8.7 數(shù)字格式化
8.7.1 Formatter類
8.7.2 格式化整數(shù)
8.7.3 格式化浮點(diǎn)數(shù)
8.8 StringBuffer類
8.8.1 StringBuffer對(duì)象的創(chuàng)建
8.8.2 StringBuffer類的常用方法
8.9 Pattern與Matcher類
8.10 Class類
8.10.1 使用Class實(shí)例化一個(gè)對(duì)象
8.10.2 獲取類的有關(guān)信息
8.11 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):String類
難點(diǎn):正則表達(dá)式
第九章 組件及事件處理
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 6學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
9.1 Java Swing概述
9.2 窗口
9.2.1 JFrame常用方法
9.2.2 菜單條,、菜單,、菜單項(xiàng)
9.3 常用組件與布局
9.3.1 常用組件
9.3.2 常用容器
9.3.3 常用布局
9.4 處理事件
9.4.1 事件處理模式
9.4.2 ActionEvent事件
9.4.3 ItemEvent事件
9.4.4 DocumentEvent事件
9.4.5 MouseEvent事件
9.4.6 焦點(diǎn)事件
9.4.7 鍵盤事件
9.4.8 窗口事件
9.4.9 匿名類實(shí)例或窗口做監(jiān)視器
9.4.10 事件總結(jié)
9.5 使用MVC結(jié)構(gòu)
9.6 對(duì)話框
9.6.1 消息對(duì)話框
9.6.2 輸入對(duì)話框
9.6.3 確認(rèn)對(duì)話框
9.6.4 顏色對(duì)話框
9.6.5 自定義對(duì)話框
9.7 樹組件與表格組件
9.7.1 樹組件
9.7.2 表格組件
9.8 按鈕綁定到鍵盤
9.9 打印組件
9.10 發(fā)布GUI程序
9.11 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
重點(diǎn):布局管理器,組件和容器
難點(diǎn):事件處理
第十章 輸入,、輸出流
【教學(xué)目標(biāo)】 理解與掌握
【學(xué)時(shí)分配】 2學(xué)時(shí)
【授課方式】 講授與實(shí)驗(yàn)教學(xué)
【授課內(nèi)容】
10.1 File類
10.1.1 文件的屬性
10.1.2 目錄
10.1.3 文件的創(chuàng)建與刪除
10.1.4 運(yùn)行可執(zhí)行文件
10.2 文件字節(jié)輸入流
10.3 文件字節(jié)輸出流
10.4 文件字符輸入,、輸出流
10.5 緩沖流
10.6 隨機(jī)流
10.7 數(shù)組流
10.8 數(shù)據(jù)流
10.9 對(duì)象流
10.10 序列化與對(duì)象克隆
10.11 使用Scanner解析文件
10.12 文件對(duì)話框
10.13 帶進(jìn)度條的輸入流
10.14 文件鎖
10.15 應(yīng)用舉例
【教學(xué)重點(diǎn)和難點(diǎn)】
1.重點(diǎn):文件字節(jié)流
2.難點(diǎn):數(shù)據(jù)流
五、實(shí)驗(yàn)教學(xué)及要求
1.實(shí)驗(yàn)教學(xué)內(nèi)容及安排
序號(hào) | 實(shí)驗(yàn)項(xiàng)目名稱 | 內(nèi)容提要 | 實(shí)驗(yàn)要求 | 實(shí)驗(yàn)類型 | 實(shí)驗(yàn)教學(xué)組織形式 | 學(xué)時(shí)分配 |
1 | 熟悉Java編程開發(fā)環(huán)境 | 熟悉JDK環(huán)境,,掌握如何編輯,、運(yùn)行一個(gè)Java程序。 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
2 | Java基本數(shù)據(jù)類型與數(shù)組 | 編寫程序使用 Java的基本數(shù)據(jù)類型和數(shù)組。 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
3 | Java的分支與循環(huán)語句 | 編寫程序使用 Java的分支與循環(huán)語句 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
4 | Java的類與對(duì)象 | 類的定義,、成員變量的使用,、靜態(tài)成員的創(chuàng)建 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 4 |
5 | Java的子類與繼承 | 子類的繼承性、 使用重寫,、super關(guān)鍵字的使用 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 4 |
6 | Java的接口與實(shí)現(xiàn) | 接口的實(shí)現(xiàn),;接口回調(diào)的使用、面向接口編程模式的使用 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
7 | Java的內(nèi)部類與異常類 | 編寫程序使用Java的內(nèi)部類和異常類 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
8 | Java的常用實(shí)用類 | 編寫程序使用Java的String類,、Pattern類和match類 | 必做 | 驗(yàn)證性 | 獨(dú)立 | 2 |
8 | Java的組件及事件處理 | 創(chuàng)建一個(gè)實(shí)現(xiàn)偵聽類實(shí)現(xiàn)偵聽接口,。寫出相應(yīng)的事件處理程序,創(chuàng)建監(jiān)聽程序?qū)ο?,注?cè)監(jiān)聽程序?qū)ο蟆?/span> | 必做 | 設(shè)計(jì)性 | 獨(dú)立 | 4 |
2.實(shí)驗(yàn)報(bào)告撰寫要求
需寫上機(jī)結(jié)果或截圖
關(guān)鍵代碼要注釋
六,、課程考核及成績(jī)?cè)u(píng)定要求
1、考核方式:筆試(閉卷)
2,、成績(jī)?cè)u(píng)定方式:平時(shí)成績(jī) 30%+期末成績(jī) 70%,。
七、教材與參考資料
本課程選用教材:
理論教材:《Java 2實(shí)用教程》(第4版)作者:耿祥義,、張躍平,,清華大學(xué)出版社,2012年8月出版,。
實(shí)驗(yàn)教材:《Java 2 實(shí)用教程(第4版)實(shí)驗(yàn)指導(dǎo)與習(xí)題解答》作者:張躍平,、耿祥義,清華大學(xué)出版社,,2012年8月出版,。
本課程推薦參考書:
《Java2 核心技術(shù)》卷I:基礎(chǔ)知識(shí)(第8版).(美)Cay S.Horstmann,Gary Cornell主編.機(jī)械工業(yè)出版社,2008年6月出版,。