總學時數(shù): 90(54/36) 學分:3 適用專業(yè):全校各本科專業(yè)
• 課程的教學目標
通過本課程的學習,幫助學生掌握面向?qū)ο蟮木幊淘O計思想,并能運用 Java技術(shù)和基本開發(fā)工具進行計算機軟件代碼設計。培養(yǎng)學生用新一代程序設計思想和邏輯思維方式進行計算機編程研究,啟發(fā)學生的創(chuàng)新意識,提高學生在軟件設計過程中分析問題和解決問題的實際動手能力,使學生的理論知識和實踐技能得到共同發(fā)展,從而為今后步入新世紀知識經(jīng)濟領(lǐng)域打下堅實基礎。
• 課程的性質(zhì)、目的和任務
本課程屬于教育部規(guī)定的非計算機專業(yè)計算機基礎教學的第二層次,即計算機(軟件)技術(shù)基礎。在修完“大學計算機基礎”課程后,使學生進一步掌握一門程序設計語言( Java語言),為全校學生必修課。
Java語言是美國SUN公司1995年推出的面向?qū)ο蟮某绦蛟O計語言,該語言充分考慮了互聯(lián)網(wǎng)時代的特點,在設計上具有跨平臺性、面向?qū)ο?、安全等特性,因此一?jīng)推出就受到IT界的廣泛重視并大量采用,同時也成為教育界進行程序設計教學的一門重要編程語言。通過本門課程的學習可以使學生掌握Java語言的基本語法和編程規(guī)范;尤其是掌握用Java語言進行網(wǎng)絡編程的技巧;同時Java語言是一門面向?qū)ο蟮恼Z言,通過學習可以掌握用面向?qū)ο筮M行編程的思想和實踐,能夠根據(jù)實際需求編制出一些實用的程序。
• 課程教學的基本要求
1、熟練掌握Java語言的基本數(shù)據(jù)類型,運算符及表達式,控制結(jié)構(gòu),字符串的應用。
2、學會運用面向?qū)ο缶幊烫攸c,使用抽象、封裝、繼承、多態(tài)編寫簡單的類和使用類對象編程。
3、掌握Java語言基礎類、字符串類的應用。
4、掌握異常的應用方法,進行異常處理設計。
5、掌握線程的使用方法。
6、掌握Java語言的I/O編程及應用方法。
7、掌握Java圖形用戶界面設計方法及其編程。
8、掌握Applet小應用程序的設計方法,設計小型網(wǎng)絡應用程序。
9、掌握Application應用程序的設計方法,設計小型網(wǎng)絡應用程序。
10、了解Java典型技術(shù)的原理和應用。
11、了解Java服務器端的編程技術(shù)和分布式網(wǎng)絡應用系統(tǒng)的開發(fā)過程。
12、進一步理解Web工作原理。
• 課程教學內(nèi)容
第 1章:Java語言概述(2學時)
• 教學基本要求
了解 Java語言的產(chǎn)生、應用前景和特點。
掌握 Java語言和C++語言的異同點。
掌握 Java的運行環(huán)境JDK和Java Applet程序、Java Application程序的編輯、編譯和運行過程。
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 了解 Java(1學時)
• Java的產(chǎn)生
• Java的特點
• Java的實現(xiàn)機制
• Java虛擬機
• 垃圾回收機制
• 代碼安全性檢測
• Java的發(fā)展
第二節(jié) Java的運行環(huán)境JDK(1學時)
• JDK的安裝
安裝 Java Develop Kit(JDK)
安裝 java幫助文檔
配置類路徑
• java application和java applet的編輯、編譯與運行
• 教學重點和難點
重點: java 語言的特點
面向?qū)ο蟮木幊趟悸?
難點: java 虛擬機
• 小結(jié)
1995年5月Sun公司正式發(fā)布Java的第一個辦公版本。Java語言被美國的著名雜志PCMagazine評為1995年十大優(yōu)秀科技產(chǎn)品。短短幾年間,隨著Internet的迅猛發(fā)展和WWW應用的快速增長,Java獲得迅速發(fā)展和壯大,已成為Intemet上的主流編程語言。近兩年Sun公司推出的J2ME、J2SE、J2EE三大平臺更體現(xiàn)了Java語言強大的應用能力,從高性能計算,到移動計算(手機通信)、智能卡,都無不體現(xiàn)著Java的存在。
本章主要介紹 Java的特點、實現(xiàn)機制、核心技術(shù)以及運行環(huán)境JDK,使讀者對Java有個初步認識,為后續(xù)各章的學習做好準備。
第 2章:Java語言基礎知識(6學時)
• 教學基本要求
掌握 Java語言各種數(shù)據(jù)類型的規(guī)定及其與C++語言在數(shù)據(jù)類型上的區(qū)別。
熟練使用各種數(shù)據(jù)類型的定義,表示和引用。
熟練掌握 Java 語言流程控制語句的功能及使用。
能熟練處理字符串
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 標志符與關(guān)鍵字( 0.25學時)
• 標識符:在 Java中,所有的標識符都必須以一個字母、下劃線或美元符號“$”開頭。后面可以包含字母、數(shù)字、下劃線和美元符號。
• 關(guān)鍵字:關(guān)鍵字是 Java語言本身使用的標識符,它有其特定的語法含義。所有的Java關(guān)鍵字將不能被用作標識符,關(guān)鍵字用英文小寫字母表示。
• 分隔符:分隔符是用來區(qū)分源程序中的基本成分,可使編譯器確認代碼在何處分隔。分隔符有注釋、空白符和普通分隔符三種。
• 注釋
第二節(jié) 基本數(shù)據(jù)類型( 0.5學時)
Java的數(shù)據(jù)類型可分為簡單類型、引用類型。
Java共定義了8種簡單類型。
第三節(jié) 變量與常量( 0.25學時)
• 常量:常量是指在程序中直接給出的一個符號串,作用是為變量賦值或參與表達式的運算。它可以是一個具體的數(shù)值或字符串 。
• 變量:變量是程序中存儲單元的標識符表示,是內(nèi)存中的一塊空間,提供了可以存放信息和數(shù)據(jù)的地方,具有記憶數(shù)據(jù)的功能。通常用字母或單詞作為變量名 。
第四節(jié) 運算符與表達式( 1學時)
• 運算符: Java的運算符代表著特定的運算指令,程序運行時將對運算符連接的操作數(shù)進行相應的運算。
• Java提供了十分豐富的運算符,Java的運算符主要分為4類:算術(shù)運算符、位運算符、關(guān)系運算符和布爾運算符。
• 表達式:表達式是算法語言的基本組成部分,它表示一種求值規(guī)則,通常由操作數(shù)、運算符和圓括號組成。操作數(shù)是參加運算的數(shù)據(jù),可以是常量、常數(shù)、變量或成員方法引用。表達式中出現(xiàn)的變量名必須已經(jīng)被初始化。
第五節(jié) 流程控制( 2學時)
按程序的執(zhí)行流程,程序的控制結(jié)構(gòu)可分為 3種:
• 順序結(jié)構(gòu):一般情況下,程序按語句的書寫次序依次順序執(zhí)行,順序結(jié)構(gòu)是最簡單的一種基本結(jié)構(gòu)。
• 分支結(jié)構(gòu): Java有兩種分支語句實現(xiàn)分支結(jié)構(gòu),if語句實現(xiàn)二路分支,swicth語句實現(xiàn)多路分支。
• 循環(huán)結(jié)構(gòu):
1)for語句
2)while語句
3)do-while語句
第六節(jié) 數(shù)組( 1學時)
• 數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個元素具有相同的數(shù)組名,根據(jù)數(shù)組名和下標來唯一地確定數(shù)組中的元素。
• 數(shù)組的使用:數(shù)組有一維數(shù)組和多維數(shù)組,使用時要先聲明后創(chuàng)建。
第七節(jié) 字符串( 1學時)
• 聲明字符串變量
• 字符串運算
• String類的常用方法
• 教學重點和難點
重點:各種數(shù)據(jù)類型的定義,表示和引用
各種控制語句
字符串的使用
難點:動態(tài)初始化復雜類型數(shù)組
使用 StringBuffer類表示和操作字符串
• 小結(jié)
Java從C++繼承了大量的語言成份,如運算符、控制結(jié)構(gòu)等。
本章介紹 Java語言的基礎知識,包括標識符與關(guān)鍵字、運算符、表達式、變量聲明,實現(xiàn)程序控制結(jié)構(gòu)的語句,以及數(shù)組和字符串。
第 3章:面向?qū)ο蠹夹g(shù)(8學時)
• 教學基本要求
掌握類的定義,類的繼承,及相關(guān)語法規(guī)則,掌握對類成員的使用,理解類的封裝。
理解方法重載和方法重寫。
理解面向?qū)ο蟮奶匦浴?
了解面向?qū)ο蟮能浖_發(fā)過程。
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 類與對象( 0.5學時)
• 類( Class)是一種復雜的數(shù)據(jù)類型,它是將數(shù)據(jù)和與數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。類是普通數(shù)據(jù)類型的擴展,它不但包含數(shù)據(jù),還包含了對數(shù)據(jù)進行操作的方法(method)。方法反映的是數(shù)據(jù)的行為而不是數(shù)據(jù)本身。
• 對象 ( Object)是類的實例,它是類的變量。當程序運行時,對象占用內(nèi)存單元。對象與類的關(guān)系就像變量與類型的關(guān)系一樣。類與對象是密切相關(guān)的,沒有脫離對象的類,也沒有不依賴于類的對象。
• Java 中的所有數(shù)據(jù)類型都是用類來實現(xiàn)的,Java語言是建立在類這個邏輯結(jié)構(gòu)之上,所以Java 是一種完全面向?qū)ο蟮某绦蛟O計語言,類是Java的核心。
• 類中的數(shù)據(jù)稱為成員變量。有時也稱為屬性、數(shù)據(jù)、域。對成員變量的操作實際上就是改變對象的狀態(tài),使之能滿足程序的需要。成員變量也有很多修飾符,用來控制對成員變量的訪問。
第二節(jié) 類的創(chuàng)建( 0.5學時)
• 類的聲明
• 類主體
第三節(jié) 對象的創(chuàng)建( 1學時)
• 創(chuàng)建對象
• 對象的使用
• 對象的初始化
1)系統(tǒng)對變量的初始化
2)構(gòu)造方法
• 對象的銷毀
第四節(jié) 類的封裝( 2學時)
• Java中通過設置類的訪問權(quán)限和類中成員的訪問權(quán)限,來實現(xiàn)封裝的特性。
• Java定義了4種訪問權(quán)限:公有的、保護的、默認的和私有的。
• 實例成員和類成員
第五節(jié) 類的繼承( 2學時)
• 新類從現(xiàn)有的類中產(chǎn)生,保留了現(xiàn)有類的屬性和方法并根據(jù)需要加以修改。當你建立一個新類時,不必寫出全部成員變量和成員方法。只要簡單地聲明這個類是從一個已定義的類繼承下來的,就可以使用被繼承類的全部成員。被繼承的類稱為父類或超類,這個新類就是子類。
• 創(chuàng)建子類
• this引用、super引用和instanceof對象運算符
• 最終類和抽象類
第六節(jié) 類的多態(tài)性( 2學時)
• 所謂多態(tài)( polymorphism),是指一個名字可具有多種語義。在面向?qū)ο笳Z言中,多態(tài)是指一個方法可能有多種版本,一次單獨的方法調(diào)用(invoke)可能是這些版本中的任何一種,即實現(xiàn)“一個接口,多個方法”。
• 方法的重載
• 方法的覆蓋
• 教學重點和難點
重點:類和對象的概念
面向?qū)ο蟮木幊趟悸?
難點: 理解方法重載和方法重寫,不要混淆了兩者的使用
類變量和類方法的使用
• 小結(jié)
面向?qū)ο蠹夹g(shù)是一種基于對象概念的軟件開發(fā)方法, Windows平臺上的高級編程語言大多支持面向?qū)ο蟪绦蛟O計(Object Oriented Programming,OOP)。
Java是一種完全面向?qū)ο蟮某绦蛟O計語言,它的所有數(shù)據(jù)類型和函數(shù)都封裝在類中。Java在繼承C++優(yōu)秀特性的同時,放棄了那些模糊、復雜、容易出錯的特性以及影響程序健壯性的部分。Java所實現(xiàn)的封裝、繼承、多態(tài)性等面向?qū)ο蟮膶傩?,降低了程序的復雜性,實現(xiàn)了代碼的可重用性,提高了運行效率,使Java不依賴于機器的結(jié)構(gòu),具有平臺無關(guān)性、分布式、可移植性、可重用性、健壯性、安全性等特點。
本章首先介紹類與對象的基本概念、類的聲明、對象的創(chuàng)建和使用,然后介紹如何實現(xiàn)面向?qū)ο蟮娜齻€核心特性:類的封裝、繼承和多態(tài)性。
第 4章:Java類和對象的高級特征(5學時)
• 教學基本要求
掌握 Java接口的定義和實現(xiàn)。
掌握 Java內(nèi)部類。
了解系統(tǒng)定義的類 (包) 。
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 接口( 1學時)
• 接口是抽象類的一種,只包含常量和方法的定義,而沒有變量和方法的實現(xiàn),且其方法都是抽象方法。
• 定義接口
接口是沒有實現(xiàn)的方法和變量的集合。接口的定義與類的定義相似。
• 實現(xiàn)接口
接口的實現(xiàn)類似于繼承,只是不用 extends,而是用關(guān)鍵字implement聲明一個類將實現(xiàn)一個接口,其聲明格式如下:
[〈修飾符〉]class〈類名〉[extends〈超類名〉][implements〈接口名1〉,〈接口名2〉,……]
第二節(jié) 內(nèi)部類( 2學時)
• 內(nèi)部類是在一個類的內(nèi)部嵌套定義的類,它可以是其它類的成員,也可以在一個語句塊的內(nèi)部定義,還可以在表達式內(nèi)部匿名定義。
• 內(nèi)部類有如下特性:
1) 一般用在定義它的類或語句塊之內(nèi),在外部引用它時必須給出完整的名稱。名字不能與包含它的類名相同。
2) 可以使用包含它的類的靜態(tài)和實例成員變量,也可以使用它所在方法的局部變量。
3) 可以定義為 abstract。
4) 可以聲明為 private或protected。
5) 若被聲明為 static,就變成了頂層類,不能再使用局部變量。
6) 若想在 Inner Class中聲明任何static成員,則該Inner Class必須聲明為static。
• 內(nèi)部類的優(yōu)缺點:
優(yōu)點 :節(jié)省編譯后產(chǎn)生的字節(jié)碼文件的大小
缺點 :使程序結(jié)構(gòu)不清楚
第三節(jié) 包( 2學時)
• 包( package)是Java提供的一種區(qū)別類名空間的機制,是類的組織方式,包對應一個文件夾,包中還可以再有包,稱為包等級。
• Java的API介紹
Java的常用包有:
Java.lang 語言包
Java.util 使用包
Java.awt 抽象窗口工具包
Java.text 文本包
Java.io 輸入輸出流的文件包
Java.applet Applet應用程序
Java.net 網(wǎng)絡功能
• 引用 Java定義的包
• 自定義包
• 教學重點和難點
重點:接口和包的使用
難點:通過 package 、 import 語句和設置環(huán)境變量 Classpath 訪問其它包中的類
• 小結(jié)
為使程序更適應網(wǎng)絡傳輸,提高運行效率,增加安全性,降低程序復雜性, Java采用的是盡可能簡單的面向?qū)ο髾C制。最明顯的特點就是,它只支持單重繼承,而不支持C++等語言中的多重繼承。但Java引入了接口概念,接口和單重繼承的結(jié)合可以實現(xiàn)多重繼承的功能。
本章進一步討論 Java面向?qū)ο蟮膶崿F(xiàn)機制,包括接口、內(nèi)部類和包。
第 5章:異常處理(3學時)
• 教學基本要求
掌握異常的概念和 Java異常處理的機制。
掌握 Java異常類的產(chǎn)生、捕獲與處理方法。
了解 Java 異常類的繼承和派生關(guān)系。
掌握自定義異常類。
• 要求學生掌握的基本概念、理論、原理
第一節(jié) Java異常處理的基礎知識(0.5學時)
• 錯誤與異常
在程序運行時經(jīng)常會出現(xiàn)一些非正常的現(xiàn)象,如死循環(huán)、非正常退出等,稱為運行錯誤。根據(jù)錯誤性質(zhì)運行錯誤分為兩類:錯誤和異常。
• 異常處理機制
Java提供了異常處理機制,它是通過面向?qū)ο蟮姆椒▉硖幚懋惓5摹?
1)拋出異常
2)捕獲異常
3)異常處理的類層次
第二節(jié) 異常類的產(chǎn)生、捕獲與處理( 1學時)
• 異常的產(chǎn)生
• 使用 try-catch-finally語句捕獲和處理異常
• Exception 異常類的方法
第三節(jié) 異常的分類( 0.5學時)
• 異常類層次圖
程序?qū)﹀e誤與異常的三種處理方式:
1) 程序不能處理的錯誤
2) 程序應避免而不捕獲的異常
3) 必須捕獲的異常
• 常見的公用異常類
1) 算術(shù)異常類ArithmeticException
2) 空指針異常NullPointerException
3) 類型強制轉(zhuǎn)換異常ClassCastException
第四節(jié) 拋出異常( 0.5學時)
• 使用 throw語句拋出異常
• 拋出異常的方法與調(diào)用方法處理異常
• 由方法拋出異常交系統(tǒng)處理
第五節(jié) 自定義異常類( 0.5學時)
雖然 Java已經(jīng)預定了很多異常類,但有的情況下,程序員不僅需要自己拋出異常,還要創(chuàng)建自己的異常類,這時可以通過創(chuàng)建Exception的子類來定義自己的異常類。
• 教學重點和難點
重點:在編寫程序時,要正確地使用捕獲例外和聲明拋棄例外的兩種例外處理的方法
難點:如何使用 Java中兩種例外處理機制,拋棄例外和聲明拋棄例外的區(qū)別與聯(lián)系
• 小結(jié)
本章討論了 Java的異常處理機制,并學習如何合理應用異常處理機制,從而使我們編寫的Java程序具有穩(wěn)定性和可靠性。
第 6章:圖形界面設計(10學時)
• 教學基本要求
掌握事件源、事件、事件處理者等概念,讓程序能夠響應用戶的操作。
掌握 Java 的 GUI 設計技術(shù)。
掌握用 AWT來設計圖形用戶界面的方法,尤其是組件、容器、布局管理器等概念。了解AWT各個組件的用法及所采用的事件處理接口。
掌握 Swing的基本用法,了解其常用組件和容器的使用方法及功能,知道其布局管理器和事件處理與AWT處理上的區(qū)別,了解其輔助特性。
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 用 AWT 生成圖形化用戶界面(2學時)
• java.awt 包
• 組件和容器
• 常用容器
• 布局管理器
第二節(jié) AWT事件處理模型(2學時)
當 JAVA程序運行時,如果用戶在界面上進行某種操作,系統(tǒng)捕獲這些操作回產(chǎn)生相應的 事件 (event),然后將執(zhí)行相應的 事件處理程序 。
事件的來源 是用戶的操作,如敲擊鍵盤、單擊鼠標、雙擊鼠標等。當用戶在 AWT組件上進行操作時,AWT事件處理系統(tǒng)就會產(chǎn)生一個相應的事件對象。事件對象描述的是用戶所執(zhí)行的操作,用戶操作不同,事件對象的內(nèi)容也不同
事件的處理 由事件處理程序完成。
事件處理模型 ,指事件產(chǎn)生后事件對象的傳遞準則。 JAVA的事件處理模型有兩種:JDK1.0和JDK1.1
• 事件類
• 事件監(jiān)聽器
• AWT 事件及其相應的監(jiān)聽器接口
• 事件適配器
第三節(jié) AWT組件庫(2學時)
第四節(jié) Swing簡介(2學時)
• 簡介
• Swing 的類層次結(jié)構(gòu)
• Swing 組件的多樣化
• MVC(Model-View-Control) 體系結(jié)構(gòu)
• 可存取性支持
• 支持鍵盤操作
• 設置邊框
• 使用圖標( Icon )
• Swing 程序結(jié)構(gòu)簡介
第五節(jié) Swing組件和容器(2學時)
• 組件的分類
• 使用 Swing 的基本規(guī)則
• 各種容器面板和組件
• 布局管理器
• 教學重點和難點
重點:事件處理模型
Swing的新增特性
難點:內(nèi)部類匿名類在 AWT中的應用
Swing新的容器模型以及眾多的組件的使用方法
• 小結(jié)
本章介紹如何使用 Java組件設計圖形界面程序,內(nèi)容包括:創(chuàng)建框架,設置界面布局,使用按鈕、文本編輯框、復選框、選擇框、列表框、對話框等常用組件,使用菜單及彈出式菜單,以及在組件上繪圖等。
通過使用組件制作 Windows窗口,掌握Java圖形界面的設計方式,理解委托事件監(jiān)聽程序?qū)κ录奶幚頇C制。
第 7章:多線程機制(5學時)
• 教學基本要求
掌握線程的調(diào)度和控制方法,清楚地理解多線程的互斥和同步的實現(xiàn)原理,以及多線程的應用。
• 要求學生掌握的基本概念、理論、原理
• 線程的概念( 0.5學時)
• 程序、進程和多任務
程序 ( program)是對數(shù)據(jù)描述與操作的代碼的集合,是應用程序執(zhí)行的腳本。
進程 ( process)是程序的一次執(zhí)行過程,是系統(tǒng)運行程序的基本單位。
多任務 ( multitask)是指在一個系統(tǒng)中可以同時運行多個程序,即有多個獨立運行的任務,每個任務對應一個進程。
• 線程
線程與進程相似,是一段完成某個特定功能的代碼,是程序中單個順序的流控制;但與進程不同的是,同類的多個線程是共享一塊內(nèi)存空間和一組系統(tǒng)資源,而線程本身的數(shù)據(jù)通常只有微處理器的寄存器數(shù)據(jù),以及一個供程序執(zhí)行時使用的堆棧。所以系統(tǒng)在產(chǎn)生一個線程,或者在各個線程之間切換時,負擔要比進程小的多,正因如此,線程被稱為輕負荷進程( light-weight process)。一個進程中可以包含多個線程。
• 線程的生命周期與線程的狀態(tài)
第二節(jié) Runnable接口與Thread類(0.5學時)
• Runnable 接口
• Thread 類
• 兩種創(chuàng)建線程方法的比較
• 線程組
第三節(jié) 線程的控制與調(diào)度( 2學時)
• 線程的生命周期
1)創(chuàng)建狀態(tài)
2)可運行狀態(tài)
3)運行中狀態(tài)
4)阻塞狀態(tài)
5)死亡狀態(tài)
• 線程調(diào)度與優(yōu)先級
• 改變線程狀態(tài)
1)線程睡眠sleep( )
2)暫停線程 yield( )
3)連接線程join()
4)中斷線程interrupt()
第四節(jié) 線程的同步機制( 2學時)
前面所提到的線程都是獨立的,而且異步執(zhí)行,也就是說每個線程都包含了運行時所需要的數(shù)據(jù)或方法,而不需要外部的資源或方法,也不必關(guān)心其它線程的狀態(tài)或行為。但是經(jīng)常有一些同時運行的線程需要共享數(shù)據(jù),此時就需考慮其他線程的狀態(tài)和行為,否則就不能保證程序的運行結(jié)果的正確性。
• 共享數(shù)據(jù)的線程“互斥“鎖定
1)線程間的數(shù)據(jù)共享
2)Synchronized
• 傳送數(shù)據(jù)的線程同步運行
1)線程間傳送數(shù)據(jù)
2)synchronized與“互斥鎖”標志
3)在線程之間通信
• 死鎖問題
Java技術(shù)即不能發(fā)現(xiàn)死鎖也不能避免死鎖。所以程序員編程時應注意死鎖問題,盡量避免。避免死鎖的有效方法是:
1)線程因為某個條件未滿足而受阻,不能讓其繼續(xù)占有資源
2)如果有多個對象需要互斥訪問,應確定線程獲得鎖的順序,并保證整個程序以相反的順序釋放鎖
• 教學重點和難點
重點: 多線程的調(diào)度和控制
難點:多線程的互斥和同步
• 小結(jié)
Java的特點就是內(nèi)在支持多線程,它的所有類都是在多線程的思路下定義的。
本章介紹了 Java的多線程機制,包括線程概念、線程的生命周期、線程的控制與調(diào)度、線程同步等問題。
第 8章:輸入輸出流(5學時)
• 教學基本要求
掌握數(shù)據(jù)流的概念。
掌握字符流、字節(jié)流的操作。
掌握文件操作方法
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 數(shù)據(jù)流的基本概念( 1學時)
• 理解數(shù)據(jù)流
• Java的標準數(shù)據(jù)流
標準輸入輸出指在字符方式下(如 DOS),程序與系統(tǒng)進行交互的方式,分為三種:
1)標準輸入studin,對象是鍵盤。
2)標準輸出stdout,對象是屏幕。
3)標準錯誤輸出stderr,對象也是屏幕。
• Java.io包中的數(shù)據(jù)流及文件類
1)字節(jié)流InputStream和OutputStream
2)字符流Reader和Writer
3)文件類File和RandomAccessFile
第二節(jié) 字節(jié)流初步( 1學時)
• InputStream 和OutputStream 類
• 文件字節(jié)輸入流類 FileInputStream
• 文件字節(jié)輸出流類 FileOutputStream
第三節(jié) 文件操作( 1學時)
• File類
• 文件過濾器
• 文件對話框
• 隨機文件操作
第四節(jié) 字符流( 1學時)
• Reader類和Writer類
• 字符文件流 FileReader和FileWriter類
• 字符緩沖流 BufferedReader和BufferedWriter類
第五節(jié) 字節(jié)流的高級應用( 1學時)
• 管道流
• 數(shù)據(jù)流
• 對象流
• 教學重點和難點
重點: 遇到實際問題時,要根據(jù)需要正確使用各種輸入/輸出流,特別是對中文使用適當?shù)淖址斎肓鳌?
難點:處理字符流時,其構(gòu)造方法的參數(shù)是一個字節(jié)流。
對象串行化的概念
• 小結(jié)
所有程序都離不開輸入和輸出。在面向?qū)ο蟮恼Z言中,輸入輸出都是通過數(shù)據(jù)流來實現(xiàn)的。
本章介紹了 Java數(shù)據(jù)流的概念及應用,包括字節(jié)流、字符流及文件操作。
第 9章:Applet應用程序(4學時)
• 教學基本要求
掌握 Apple的編程技巧與運行環(huán)境
掌握在 HTML文件中嵌入Applet程序的方法
• 要求學生掌握的基本概念、理論、原理
第一節(jié) Applet特點(0.5學時)
• Applet 需要嵌入瀏覽器運行
• Applet 的安全性
第二節(jié) Applet類(2學時)
Applet類是一個特殊的圖形類,在java.applet包中。Applet類是Panel的一個子類,因此它具備Panel的特性,而與Panel不同的是,Applet類是一個可以運行的類,所以創(chuàng)建一個Applet子類就可以運行一個Applet應用程序。
• Applet的創(chuàng)建
• Applet的生命周期
1)init( )
2)start( )
3)stop( )
4)destroy( )
• Applet的顯示與刷新
1)自動執(zhí)行paint方法繪圖
2)調(diào)用repaint方法重新繪圖
第三節(jié) HTML和Applet(0.5學時)
• 超文本標記語言
• HTML中嵌入Applet
第四節(jié) Applet應用(1學時)
• 標識網(wǎng)絡上的資源
• 顯示圖像
• 播放聲音
• 教學重點和難點
重點: Applet和 Application的區(qū)別
難點: Applet的生命周期
• 小結(jié)
Java的應用程序分為兩大類:獨立應用程序和Applet應用程序。在前幾章中所設計的程序稱為獨立應用程序,它們可以獨立運行。
Applet應用程序,又稱為小應用程序,是嵌入到瀏覽器中的程序。它不能獨立運行,必須嵌入到瀏覽器中運行。正是由于Applet應用程序的特點,使得Web頁面豐富,具有動感,充滿活力,從而也使Java能夠隨著Internet的發(fā)展而逐步成長壯大,成為當今網(wǎng)絡編程的主流語言。
本章介紹了 Applet應用程序的運行方式、生命周期等特征,顯示圖形圖像與播放聲音的方法,使用線程制作動態(tài)圖形、顯示動態(tài)圖像。
第 10章:網(wǎng)絡通信(6學時)
• 教學基本要求
理解計算機網(wǎng)絡編程的概念
理解和掌握在 Java中用URL訪問網(wǎng)絡資源的方法
理解和掌握 Socket通信機制
• 要求學生掌握的基本概念、理論、原理
第一節(jié) 網(wǎng)絡運行機制( 2學時)
Java用于網(wǎng)絡操作的功能包是java.net,它包含了多個訪問各種標準網(wǎng)絡協(xié)議的類庫。Java的網(wǎng)絡訪問類庫分別支持以下三個層次的網(wǎng)絡運行機制。
• 使用 URL訪問網(wǎng)絡資源
Java支持URL訪問網(wǎng)絡資源的機制,通過URL標識,可以直接使用http、file、ftp等多種協(xié)議,以獲取遠程計算機上的資源信息,方便快捷地開發(fā)internet應用程序。
• Socket
Java提供對應于Socket機制的一組類,按照用戶約定的通信協(xié)議,實現(xiàn)網(wǎng)絡通信。這種方式更適合開發(fā)特定功能的網(wǎng)絡通信程序。
• Datagram
第二節(jié) 使用 URL訪問網(wǎng)絡資源(2學時)
• 什么是 URL
• URL類
• 針對 HTTP協(xié)議的URLConnection類
• Socket通信機制(2學時)
• Socket通信機制的基本概念
• 實現(xiàn) Socket通信
• 教學重點和難點
重點: URL,Socket通信的實現(xiàn)
難點:基于 TCP的C/S網(wǎng)絡編程
基于 UDP的C/S網(wǎng)絡編程
• 小結(jié)
Java是以網(wǎng)絡語言著稱的,它的網(wǎng)絡功能十分完善,如獲取網(wǎng)絡上的各種資源、與其他機器進行實時通信、進行網(wǎng)絡文件傳輸?shù)取?
Java提供了多種網(wǎng)絡訪問類庫,能夠支持URL、Socket、Datagram等三個層次的網(wǎng)絡運行機制。
本章介紹 URL和Socket的運行機制與網(wǎng)絡功能的實現(xiàn)。
• 本課程和其他課程的關(guān)系
預修課程: C程序設計、計算機文化基礎。
• 教學時數(shù)分配
章次 | 各章標題名稱 | 講授學時 | 實驗學時 | 輔導學時 | 備注 |
Java語言概述 | 2 | 2 | |||
第 2章 | Java語言基礎知識 | 6 | 5 | ||
第 3章 | 面向?qū)ο蠹夹g(shù) | 8 | 5 | 2 | |
第 4章 | Java類和對象的高級特征 | 5 | 4 | 1 | |
第 5章 | 異常處理 | 3 | |||
第 6章 | 圖形界面設計 | 10 | 8 | 2 | |
第 7章 | 多線程機制 | 5 | |||
第 8章 | 輸入輸出流 | 5 | 4 | ||
第 9章 | Applet應用程序 | 4 | 6 | ||
第 10章 | 網(wǎng)絡通信 | 6 | 2 |
• 實驗內(nèi)容與學時分配
序號 | 實驗項目名稱 | 學時 | 實驗類型(驗證、綜合、設計) | 是否為開放實驗 | 備注 |
1 | 安裝與熟悉 Java開發(fā)工具 | 2 | 驗證 | 否 | |
2 | Java語言基礎 | 5 | 驗證 | 否 | |
3 | 面向?qū)ο蠹夹g(shù) | 5 | 驗證 | 否 | |
4 | Java類和對象的高級特征 | 4 | 驗證 | 否 | |
5 | 圖形界面設計 | 8 | 設計 | 否 | |
6 | 輸入輸出流 | 4 | 驗證 | 否 | |
7 | Applet應用程序 | 6 | 綜合 | 否 | |
8 | 網(wǎng)絡通信 | 2 | 驗證 | 否 |
• 教材及參考書
教材:
Java 2 程序設計實用教程,葉核亞、陳立編著,電子工業(yè)出版社
主要參考書:
1、Java編程思想,Bruce Eckel著,陳昊鵬,饒若楠等譯,機械工業(yè)出版社
2、 Java 大學實用教程,耿祥義編著,電子工業(yè)出版社
3、Java 2參考大全(第五版),Herbert Schildt著,周志彬譯,電子工業(yè)出版社
• 主要教學方法和媒體要求
理論課程在多媒體教室中全程采用課件教學,上課時邊講邊演示。實踐課程部分以作業(yè)的形式布置給同學們,要求在上機課或課余時間完成。另一部分采用案例式教學,由教師帶領(lǐng)學生們對實際問題進行分析,進而根據(jù)所學知識找到最佳的解決方法。
• 推薦的教學網(wǎng)站和相關(guān)專業(yè)文獻網(wǎng)站
1、 http://java.sun.com/ (英文)
2、 http://www-900.ibm.com/developerWorks/cn/
3、 http://www.javaworld.com/ (英文)
4、 http://www.theserverside.com/home/ (英文)
5、 http://www.javaresearch.org/
制 訂:計算機公修教研室
執(zhí)筆人:岳冬利
審定人:鄒健