Java程序設(shè)計復(fù)習(xí)要點_第1頁
Java程序設(shè)計復(fù)習(xí)要點_第2頁
Java程序設(shè)計復(fù)習(xí)要點_第3頁
Java程序設(shè)計復(fù)習(xí)要點_第4頁
Java程序設(shè)計復(fù)習(xí)要點_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Java程序設(shè)計復(fù)習(xí)要點第一講Java語言概述1、Java語言的特點:簡單、完全面向?qū)ο螅黄脚_無關(guān)性;多線程;直接支持分 布式的網(wǎng)絡(luò)應(yīng)用,高效的網(wǎng)絡(luò)編程;可靠性;安全性。2、運行機制:Java程序是半編譯半解釋的。Java源程序經(jīng)編譯器編譯后產(chǎn)生字 節(jié)碼,Java解釋器解釋執(zhí)行字節(jié)碼。3、Java程序的開發(fā)流程:(1)安裝JDK,設(shè)置環(huán)境變量;(2)編寫Java源程序:文件以.java作為后綴;(3) javac將源程序編譯成字節(jié)碼文件(.class文件);(3)由運行系統(tǒng)解釋和執(zhí)行字節(jié)碼文件。4、Java程序的分類:分兩類Java application (Java應(yīng)用程序):能獨立運行的應(yīng)

2、用程序,有控制 臺和圖形用戶界面兩種運行方式。main()方法是類首先執(zhí)行的方法,語句必須寫 在類的方法中。編寫完源代碼首先通過javac編譯,生成.class字節(jié)碼文件,通過Java解釋器(如來運行字節(jié)碼文件。Java applet (Java小應(yīng)用程序):Applet是可以嵌入 WebM面的最小應(yīng) 用,不能獨立運行,必須嵌入到超文本(*html )中,由瀏覽器中的Java解釋 器解釋執(zhí)行。對于Applet源程序,首先要編譯生成字節(jié)碼文件,再將字節(jié)碼文 件嵌入到超文本中。簡而言之:application :應(yīng)用程序,編譯:javac源文件名;運行:java字節(jié)碼文件(含 主函數(shù))Applet

3、 :嵌入網(wǎng)頁中運行的小應(yīng)用程序,需有相應(yīng)的html文件;5、一個完整的Java源程序結(jié)構(gòu):package語句:該部分至多只有一句,必須放在源程序的第一句;import:該部分可以有若干import語句或者沒有,必須放在所有的類定義之、乙刖;public classDefinition公共類定義部分,至多只有一個公共類的定義,Java語言規(guī)定該Java源程序的文件名必須與該公共類名完全一致;classDefinition類定義部分,可以有0個或者多個類定義;interfaceDefinition接口定義部分,可以有 0個或者多個接口定義 。第二講Java語言基礎(chǔ)1、Java的關(guān)鍵字,常量、變量,

4、簡單數(shù)據(jù)類型,運算符、表達(dá)式常量:final基本數(shù)據(jù)類型:8中基本數(shù)據(jù)類型:boolean char、byte、int、short、long、 float double。其他(數(shù)組,類、接口)均為引用或參考類型。帶小數(shù)點數(shù)如默認(rèn)為double類型,整數(shù)默認(rèn)int型class interface、數(shù)組都算引用/參考數(shù)據(jù)類型運算符:判等(=)只能對基本數(shù)據(jù)類型,equals方法;短路運算符:&、|表達(dá)式:強制類型轉(zhuǎn)換、自動類型轉(zhuǎn)換2、主要的Java語句結(jié)構(gòu):分支、循環(huán)、轉(zhuǎn)移(1)順序結(jié)構(gòu)(2)分支結(jié)構(gòu):if (布爾表達(dá)式) 語句1; else語句2;switch( 表達(dá)式)case常量 1:語句

5、1 ; break;case常量 2:語句 2 ; break;case 常量 n: 語句 n; break;缺省處理語句; break ;default:case與break聯(lián)用,保證多路分支的正確實現(xiàn)。case子句只起標(biāo)號作用,用 來查找匹配的入口并從此處開始執(zhí)行,對后面的 case不再匹配,直接執(zhí)行,直 到遇到break跳出。(3)循環(huán)結(jié)構(gòu)while (布爾表達(dá)式)語句;for (表達(dá)式1;表達(dá)式2;表達(dá)式3)語句;do 語句while (布爾表達(dá)式A);(4)轉(zhuǎn)移語句break :對于無標(biāo)號的,跳出當(dāng)前整個語句塊;有標(biāo)號的,跳出標(biāo)號指的語 旬塊??捎糜谘h(huán)結(jié)構(gòu)也用于分支結(jié)構(gòu)。conti

6、nue :只能在循環(huán)語句中使用;無標(biāo)號:用來結(jié)束所在循環(huán)語句塊的 本次循環(huán);有標(biāo)號:跳過標(biāo)號所指的循環(huán)語句所有余下部分語句,直接轉(zhuǎn)入標(biāo)號標(biāo)明的循環(huán)層次。注:break使程序跳出當(dāng)前循環(huán),continue終止當(dāng)前這一輪的循環(huán),跳過 本輪剩余的語句,直接進(jìn)入當(dāng)前循環(huán)的下一輪。習(xí)題:1)相應(yīng)作業(yè)、實驗第三講面向?qū)ο蟪绦蛟O(shè)計1、類的定義和使用:class類名,構(gòu)造函數(shù),成員變量、成員函數(shù)、this;構(gòu)造函數(shù),this :指當(dāng)前類的一個對象,表示對當(dāng)前類對象的一個引用,在 類中調(diào)用當(dāng)前對象(類)中的方法或變量。this還可以用來引用當(dāng)前類的構(gòu)造 函數(shù)。2、繼承:Object:所有類的父類;函數(shù)覆蓋、域的

7、隱藏、super、this;1)子類名extends父類名;Java只能單繼承;函數(shù)覆蓋、域的隱藏:super :在子類中要引用被隱藏的父類成員時,就需要用關(guān)鍵字super指明。如調(diào)用父類中被覆蓋的方法,其一般格式為super.方法名(參數(shù)表);用來訪問父類中被隱藏的成員變量,其一般格式為:super.成員變量名;調(diào)用父類的構(gòu)造方法,其 一般格式為super(參數(shù)表)。2)有繼承關(guān)系,構(gòu)造函數(shù)的執(zhí)行順序:先執(zhí)行父類的再執(zhí)行子類的;3)方法的重載和覆蓋,覆蓋的原則一個類中如果有多個同名方法但帶有不同的參數(shù)列表, 成為方法的重載。重 載方法的參數(shù)列表不同是指參數(shù)的數(shù)據(jù)類型或個數(shù)或次序不同。 重載方

8、法之間必 須以參數(shù)列表相區(qū)別,不能以返回值區(qū)別。方法的覆蓋是指在子類中使用與父類中同名的方法,且方法的參數(shù)(個數(shù)、類型、排列順序)和返回類型完全一樣,即子類中的方法的代碼覆蓋掉父類中的 方法的代碼,實現(xiàn)與父類中的方法的不同功能。方法覆蓋的三個規(guī)則:(1)返回值必須相同(2)子類方法不可比父類被覆蓋的方法更難訪問(3)子類方法不可聲明拋出更多的異常3、接口 :關(guān)鍵詞:interface, interface接口名;接口中只有函數(shù)說明沒有定義; 以后用類來實現(xiàn)接口: class類名implements接口名,接口可以實現(xiàn)多個,類 要實現(xiàn)接口中所有的函數(shù),不然類是抽象類,抽象類不能直接生成對象。4、

9、涉及到的關(guān)鍵詞:abstract、final 、staticstatic :靜態(tài)成員,整個類對象所共有,而不是像普通成員變量那樣,被對 象所特有。類中成員分:實例成員、類成員,知道兩種成員的區(qū)別5、類的嚴(yán)謹(jǐn)定義及修飾符修飾符 class類名 extends父類名 implements 接口列表修飾符類型 成員變量名1,成員變量名n; finally塊后面的語句;try塊中的語句產(chǎn)生了異常,而且此異常在方法內(nèi)被捕獲。在這種情況下,Java首先執(zhí)行try塊中的語句,直到產(chǎn)生異常處,然后跳過此try塊中剩下的語旬,執(zhí)行捕獲此異常的catch子句的處理代碼;然后執(zhí)行finally子句中的代碼; try

10、塊中產(chǎn)生了異常,而此異常在方法內(nèi)沒有被捕獲。在這種情況下,Java將執(zhí)行try塊中的代碼直到產(chǎn)生異常,然后跳過 try塊中的代碼而轉(zhuǎn)去執(zhí)行finally子 旬中的代碼,最后將異常拋出給方法的調(diào)用者。7、異常處理一拋出異常throws異常說明總是和方法說明出現(xiàn)在一起。這樣,方法說明告訴編譯器該方法可能會產(chǎn)生哪些異常,從而要求它的調(diào)用者必須考慮處理這些異常。返回類型 方法名()throws異常類列表方法體在程序中使用throw語句來拋出異常:throw 異常類的實例;8、用戶自定義的異常(1)定義Exception子類,代表異常類型(2)在適當(dāng)?shù)臅r候創(chuàng)建并拋出異常對象。(3)調(diào)用者處理異常習(xí)題:1

11、)設(shè)計一個Java程序,自定義異常類,從命令行(鍵盤)輸入一個字符串, 如果該字符串值為“ XYZ,則拋出一個異常信息“ This is a XYZ ,如果從命令行 輸入ABC,則沒有拋出異常。(只有XYZ和ABC兩種輸入)。(實驗中題目)第六講多線程1、多線程:程序并發(fā)執(zhí)行,而不是執(zhí)行完一個任務(wù)再執(zhí)行另一個任務(wù);2、基于線程的多任務(wù)處理環(huán)境中,線程是可執(zhí)行代碼的最小單元;3、Java語言中多線程的兩種實現(xiàn)方法一一將并發(fā)執(zhí)彳T的代碼寫到run()1)繼承Thread類:Thread中有run()方法,該方法中包含了運行時執(zhí)行的代碼。 缺省情況下run()方法是空的??梢酝ㄟ^繼承Thread類并

12、重寫它的run()方法實現(xiàn) 用戶線程。class 類名 extends Threadpublic void run() )Thread類中start()函數(shù)啟動線程sleep():讓線程休眠,讓出CPU勺使用2)實現(xiàn) Runnable 接口class 類名 implements Runnable public void run() )使用過程:(1)自定義類實現(xiàn) Runnable接口(2)使用 Thread 類的另一構(gòu)造函數(shù):Thread(Runnable, String)用實現(xiàn)了 Runnable接口的類的對象中所定義的run()方法,來覆蓋新創(chuàng)建的 線程對象的run()方法(3)使用sta

13、rt()啟動線程3)多線程的兩種實現(xiàn)方法及各自的特點(P1955)(1)繼承Thread類:聲明一個線程類繼承 Thread類,并且覆蓋Thread類的 run()方法,說明線程對象所執(zhí)行的操作。這是方式的優(yōu)點是,Thread類的子類對象就是線程對象,具有Thread類聲明的方法,且具有線程體。缺點是不適用 于多重繼承。(2)實現(xiàn)Runnable接口:當(dāng)一個類已繼承一個父類,還要以線程方式運行時, 就需要實現(xiàn)Runnable接口。一個實現(xiàn)Runnable接口的對象本身不是線程對象, 它只能作為一個線程的目標(biāo)對象使用,因此,還需要聲明一個Thread線程對象。4、線程對象的生命周期(1)新建態(tài):

14、new Thread()創(chuàng)建的線程對象處于新建態(tài),系統(tǒng)沒有為它分配資 源;(2)運行態(tài):處于新建態(tài)達(dá)的線程啟動后,進(jìn)入就緒態(tài),再由操作系統(tǒng)調(diào)度執(zhí) 行而成為運行態(tài);(3)阻塞態(tài)和等待態(tài):一個運行態(tài)的線程因某種原因不能繼續(xù)運行時,進(jìn)入阻 塞態(tài)或等待態(tài)。(4)終止態(tài):線程對象停止運行未被撤銷時是終止態(tài)。5、線程對臨界資源采用互斥使用方式,關(guān)鍵字:synchronized對需要的方法或 代碼進(jìn)行標(biāo)記;6、線程間的通信:wait(),notify() , notifyAll()waitno巾fy調(diào)度過程是幾個線程對同一個對象進(jìn)行操作,其中某些線程在 一定條件下自動掛起(wait),等待其他線程在一定條件

15、下通知其繼續(xù)運行。典型問題:生產(chǎn)者消費者問題7、練習(xí)題:1)用多線程的兩種實現(xiàn)方法,編寫滿足要求的應(yīng)用程序。第七講流1、File類:代表磁盤文件本身信息的類,而不是文件中的內(nèi)容;可以訪問 指定文件的所有屬性:文件名、文件長度、修改日期等。同時可以利用 File類提 供的方法來創(chuàng)建文件、刪除文件、重命名文件等。2、文件隨機讀寫:RandomAccessFile類,一般的流中,文件指針只能順序 移動,RandomAccessFile可以任意移動文件指針,seek(long pos3、流:1)分類:輸入流和輸出流、字節(jié)流和字符流字節(jié)流:InputStream outputStream字符流:Read

16、er; Writer2)流的使用過程:法數(shù)據(jù)的邏輯為. InputStreamReader BufferedReader4、習(xí)題:1)從鍵盤輸入內(nèi)容,寫入到文件中,直到輸入“bye”結(jié)束。(實驗題目)2)讀入一個文件的內(nèi)容拷貝到另一個文件中。第八講圖形界面包主要由組件類、事件類、布局類、菜單組件類等組成。1、基本組件、容器基本組件:不可再分的組件,例: Button Checkbox、Menu、TextArea等容器組件:用來包含其他組件的,分兩類:1)窗口類 Window: Frame Dialog,2)面板類Panel,不能獨立存在,不能添加菜單欄組件不能獨立地顯示,必須放到容器中才能顯示

17、出來。2、布局管理常用的布局管理器:流布局(FlowLayout)、邊界布局(BorderLayout)、網(wǎng) 格布局(GridLayout)、卡片布局(CardLayout)。容器可以通過 setLayout()函 數(shù)設(shè)置布局方式。Frame默認(rèn)為邊界布局、panel和Applet默認(rèn)流布局。3、事件處理機制:事件、事件類、事件監(jiān)聽器接口每個事件發(fā)生后,都會創(chuàng)建一個Event對象,包括:事件類型、發(fā)生的時間、 坐標(biāo)、發(fā)生事件的對象等。按產(chǎn)生事件的物理操作有:MouseEvent、WindowEvent、ActionEvent等;每一類事件都有相應(yīng)的事件監(jiān)聽器:Listener,例如MouseE

18、vent事件的監(jiān) 聽器接口為 MouseListener;處理發(fā)生在某個GUI組件上的XXXEvent事件的某種情況,其事件處理的通 用編寫流程:1)編寫一個實現(xiàn)了 XXXListener接口的事件監(jiān)聽器類;2)在XXXListener類中的用于處理該事件情況的方法中,編寫處理代碼;3)調(diào)用組件的addXXXListener方法,將類XXXListener創(chuàng)建的實例對象注 冊到GUI組件上。Adapter類:接口中要實現(xiàn)的方法可能很多,類實現(xiàn)接口的時候所有函數(shù)都 必須實現(xiàn),為了簡化程序Java提供了一些適配器類:XXXAdapter。4、習(xí)題:1)編寫滿足要求的圖像界面處理,有相應(yīng)的事件處理。

19、例:三位數(shù)拆分或 簡單的計算器。第九講網(wǎng)絡(luò)通信1、Java網(wǎng)絡(luò)通信的三層次:1)最高級:網(wǎng)絡(luò)上下載Applet 一由瀏覽器提供;2) Applet聲音播放和圖像顯示由Java開發(fā)環(huán)境提供;3)最低層:利用包中提供的類直接在程序中實現(xiàn)網(wǎng)絡(luò)通信。2、通信基礎(chǔ):TCP/UDP協(xié)議,IP地址、端口號,IP地址和端口號構(gòu)成Socket除接字)3、Java提供的網(wǎng)絡(luò)功能類1)應(yīng)用層:URL、URLConnection2)網(wǎng)絡(luò)層:InetAddress3)傳輸層:TCP: Socket、ServerSocketUDP: DatagramPacket DatagramSocket MulticastSocket使用這些類都需要考慮異常處理4、TCP Socket 通信:ServerSocket、Socket 類1)服務(wù)器端:ServerSocket類,Socket 類2)客戶端:Socket類服務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論