Java期末知識總結(jié)課件_第1頁
Java期末知識總結(jié)課件_第2頁
Java期末知識總結(jié)課件_第3頁
Java期末知識總結(jié)課件_第4頁
Java期末知識總結(jié)課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2023/6/41Java程序設(shè)計(jì)

ProgramminginJava期末總結(jié)2023/6/42教學(xué)大綱(

Syllabus)第1章緒論第2章結(jié)構(gòu)化程序設(shè)計(jì)第3章面向?qū)ο蟪绦蛟O(shè)計(jì)第4章數(shù)組、字符串、向量與哈希表第6章異常處理、遞歸和單體程序設(shè)計(jì)方法第7章文件與數(shù)據(jù)流2023/6/43教學(xué)大綱(

Syllabus)第8章Swing圖形用戶界面程序設(shè)計(jì)第9章小應(yīng)用程序(Applet)第11章多線程程序設(shè)計(jì)2023/6/44Java中的標(biāo)識符標(biāo)識符可以用來標(biāo)識變量名、類名、類中的方法名和文件名等.標(biāo)識符組成:(1)

字母,(2)數(shù)字,(3)下劃線“_”和(4)美元符號“$”;首字符必須是(1)

字母,(2)下劃線“_”和(3)美元符號“$”;所有標(biāo)識符是區(qū)分大小寫的;除去關(guān)鍵字、false、true和null;2023/6/45Java關(guān)鍵字具有特殊含義的字符序列例如:public、static和class

具有特殊用途,不能作為變量名、方法名和類名2023/6/46數(shù)據(jù)類型2023/6/471.算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括:+,-,*,/,++,--,%沒有指數(shù)運(yùn)算

Math.pow(2.0,3.0);//2.03.0整數(shù)除法:截去余數(shù)

7/5結(jié)果為1取模:返回余數(shù)

7%5結(jié)果為22023/6/48小測驗(yàn)?-7/5 =-7%5 =7%-5 =5.5%1.0 =i=3y=(i++)+(i++)+(i++)y=?-1-220.52023/6/492.關(guān)系運(yùn)算符六個關(guān)系運(yùn)算符:<、>、<=、>=、==和!=例如: 1>2;//false 3.5!=1;//true 51.5>=23.0; //true 540<=654; //true 24==3*8;//true

booleantest1=(10<10);//test1=false;2023/6/4103.布爾邏輯運(yùn)算符六個布爾邏輯運(yùn)算符:

& (邏輯與AND)

| (邏輯或OR)

^ (邏輯異或XOR)

!

(邏輯非NOT)單目運(yùn)算符,即只有一個操作數(shù)

&& (條件與AND)

|| (條件或OR)2023/6/4115.賦值類運(yùn)算符賦值類運(yùn)算符包括:=、+=、-=、*=、/=、&=、|=、%=、<<=、>>=和>>>=op1=op1二元運(yùn)算符op2;等價于op1二元運(yùn)算符=op2;例如:a=a+b;等價于a+=b;2023/6/412for循環(huán)語句格式:

for

([初始化表達(dá)式];[條件表達(dá)式];[更新表達(dá)式])

語句或語句塊 也可寫成:

初始化表達(dá)式;

while(條件表達(dá)式)

{

語句或語句塊更新表達(dá)式;

}2023/6/413類的定義類的定義格式如下:[類修飾詞]

class

類名

[extends

父類名][implements

接口名稱列表]{

類體}2023/6/414類的定義類的定義格式如下:類修飾詞(訪問說明符)為public或者缺省。public用來聲明該類為公有類,可以被別的對象訪問。聲明為公有的類存儲的文件名為類名。類名:用戶自定義的標(biāo)識符,用來標(biāo)志這個類的引用。父類名(超類名):是指已經(jīng)存在的類,可以是用戶已定義的,也可以是系統(tǒng)類。接口名:即后面講到的接口。2023/6/415構(gòu)造方法構(gòu)造方法在創(chuàng)建新的實(shí)例對象時起作用構(gòu)造方法通常用來初始化實(shí)例對象,例如:初始化成員域或設(shè)置工作環(huán)境構(gòu)造方法的特點(diǎn):與類同名沒有返回值可以含有多種構(gòu)造方法(重載)但必須具有不同的參數(shù)列表2023/6/416繼承性繼承性–軟件重用的一種方法根據(jù)已有的類創(chuàng)建新的類采納了舊的類的屬性(域)及其行為(方法)增加了新的能力子類繼承父類子類增加了新的成員域或新的成員方法子類對象是一種特殊的父類對象2023/6/417繼承性的實(shí)現(xiàn)采用關(guān)鍵字extends

publicclassJ_HelloAppletextendsApplet{

//…}//類J_HelloApplet結(jié)束2023/6/418多繼承在有些計(jì)算機(jī)語言中,允許一個類有多個直接父類。這種繼承關(guān)系稱為多繼承Java不支持多繼承Java允許一個類有多個直接父接口(interface)2023/6/419多態(tài)性的種類靜態(tài)的多態(tài)性重載(Overloading)一個類中定義了多個同名的方法,它們或有不同的參數(shù)或有不同的參數(shù)類型,則稱為方法的重載。動態(tài)的多態(tài)性覆蓋\重寫(Overriding)在子類中定義某方法與其父類有相同的名稱和參數(shù),我們就可以這樣說此方法被子類重寫。2023/6/420靜態(tài)的多態(tài)性(重載)在編譯時就能夠被識別針對的是同一個類內(nèi)的同名方法例如:publicintsquare(intx){returnx*x;}publicdoublesquare(doublex){returnx*x;}2023/6/421動態(tài)多態(tài)性(覆蓋)在程序運(yùn)行時才被識別重寫父類的方法要求相同的聲明例如:publicclassJ_HelloAppletextendsJApplet{publicvoidpaint(Graphicsg){

g.clearRect(0,0,getWidth(),getHeight());//清除背景

g.drawString("小應(yīng)用程序,您好!",10,20);}//方法paint結(jié)束}//類J_HelloApplet結(jié)束2023/6/422類成員的封裝性成員(域或方法)的訪問控制方式:1)public2)private3)protected4)default(缺省方式)2023/6/423成員的訪問控制方式:public則該成員可以被任何類中的方法訪問表明對外開放的方式少量(或者沒有)public

域部分public

方法

2023/6/424成員的訪問控制方式:private目的:隱藏具體的實(shí)現(xiàn)細(xì)節(jié)只有同一個類的成員方法才能訪問私有成員域常常是private

采用public“get”方法讀取數(shù)據(jù)采用public“set”方法寫數(shù)據(jù)2023/6/425成員的訪問控制方式:protected介于public

和private之間同一個包內(nèi)的所有類的所有方法都能訪問該成員如果不在同一個包內(nèi)的類的方法要訪問該成員,則該類必須是該成員所在的類的子類2023/6/426成員的訪問控制方式:default

(缺省方式)只有在同一個包內(nèi)的類的方法才能訪問該方法

2023/6/427類成員封裝性總結(jié)2023/6/428abstractJava允許定義抽象(abstract)的類和方法抽象(abstract)的方法可以只提供方法的頭部,但不提供實(shí)現(xiàn)的部分抽象(abstract)的方法只能是抽象(abstract)類中的方法例如:publicabstractclass

J_Vehicle

publicabstractclass_Shape{{publicabstractvoidfuel();publicabstractvoid

b_draw();}}2023/6/429關(guān)鍵字:static靜態(tài)的(static)域和靜態(tài)的(static)方法實(shí)際上隸屬于類對象。靜態(tài)的(static)域示例:System.out靜態(tài)的(static)方法示例:main()示例:Math.sqrt()publicstaticdoublesqrt(doublea)2023/6/430關(guān)鍵字:final在Java中,final關(guān)鍵字可以用來修飾類、方法和變量(包括成員變量和局部變量)。當(dāng)用final作用于類的成員變量時,成員變量(注意是類的成員變量,局部變量只需要保證在使用之前被初始化賦值即可)必須在定義時或者構(gòu)造器中進(jìn)行初始化賦值,而且final變量一旦被初始化賦值之后,就不能再被賦值了。使用final修飾方法參數(shù)的目的是防止修改這個參數(shù)的值,同時也是一種聲明和約定,強(qiáng)調(diào)這個參數(shù)是不可變的。2023/6/431接口(interface)接口(interface)就象是一種特殊的類成員方法:abstract成員域:final和static接口(interface)中所有的方法和域必須都是public的每個接口一般定義在一個.java

文件中2023/6/432注意事項(xiàng)接口中成員方法的默認(rèn)方式是public

和abstract接口中成員域的默認(rèn)方式是public、static和final2023/6/433通過初始化語句創(chuàng)建數(shù)組Java語言允許通過數(shù)組的初始化語句創(chuàng)建數(shù)組。示例:int[]n={10,20,30,40,50};上面語句創(chuàng)建了一個含有五個元素的數(shù)組。下標(biāo)值分別為0,1,2,3,4。這時不需要運(yùn)算符new。2023/6/434多維數(shù)組最常用的多維數(shù)組是二維數(shù)組

int[][]a=new

int[3][4];二維數(shù)組可以理解成如下圖示的表格a[0][0]a[1][0]a[2][0]a[0][1]a[1][1]a[2][1]a[0][2]a[1][2]a[2][2]a[0][3]a[1][3]a[2][3]行的下標(biāo)值列的下標(biāo)值2023/6/435注意事項(xiàng)Java的多維數(shù)組實(shí)際上是數(shù)組的數(shù)組。即創(chuàng)建以數(shù)組為元素的數(shù)組。意味著:二維數(shù)組的每一行可以具有不同的列數(shù)。示例:inta[][];a=newint[3][];//allocaterowsa[0]=newint[3];//allocaterow0a[1]=newint[2];//allocaterow1a.length–行數(shù)a[i].length–第i行列數(shù)2023/6/436向量向量功能上與數(shù)組類似,只是其元素個數(shù)可以改變,而且向量元素的數(shù)據(jù)類型必須是引用類型?;驹恚侯A(yù)先給向量對象分配一定的存儲空間,然后給向量對象添加元素或者設(shè)置元素值。向量對象的存儲空間大小稱為向量對象的容量(capacity),單位為元素個數(shù)。向量對象的實(shí)際元素個數(shù)稱為向量對象的長度(size)。當(dāng)向量容量擴(kuò)大的時候,向量對象中存在一個容量增量(capacityIncrement),通常為一個非負(fù)整數(shù)。2023/6/437向量向量所對應(yīng)的類是類java.util.Vector向量變量的聲明格式Vector<向量元素的數(shù)據(jù)類型>變量名;示例Vector<String>vs;2023/6/438受檢異常和非受檢異常受檢異常(CheckedException)必須在方法聲明時通過throws列出在編譯時就能被檢測出非受檢異常(UncheckedException)不必在throws列表中錯誤(Errors)和運(yùn)行時異常(RuntimeExceptions)受檢異常,必須處理才能通過編譯運(yùn)行時異常只有在運(yùn)行時才能被發(fā)現(xiàn)錯誤常常指的是致命性錯誤,常常也無法處理2023/6/439處理多種異常(Exception)類型如果含有多外catch語句塊,則異常會被第一個與其相匹配的catch語句塊處理2023/6/440格式在try語句塊中包含可能會產(chǎn)生異常的語句緊接著若干個catch語句塊,進(jìn)行異常處理catch語句塊與finally語句塊至少存在一個try{

//可能會拋出異常的代碼}catch(ExceptionTyperef){

//異常處理代碼

}finally{

//…}2023/6/441異常處理:捕捉-或者-聲明如果一個方法調(diào)用一個拋出受檢異常的方法(含有throws列表的方法),則該方法必須捕捉這些受檢異常,或通過throws列表聲明這些異常。2023/6/442throws

列表在方法的聲明處列出所有的受檢異常返回類型

方法名(參數(shù)列表

)throws

異常類型1,異常類型2,…{//方法體}在本方法內(nèi)就可以不處理這些異常調(diào)用該方法的方法就必須處理這些異常示例:publicstaticvoidg()throwsException{

thrownewException();}//方法g結(jié)束2023/6/443重新拋出異常如果catch語句塊不處理某種異常,可以重新拋出異常拋出異常的方法

throwe;由其外層的try-catch

語句塊處理2023/6/444文件流包java.io中含有對文件進(jìn)行處理的類FileInputStream

以字節(jié)為單位從文件中輸入數(shù)據(jù)FileOutputStream以字節(jié)為單位輸出數(shù)據(jù)到文件中FileReader

以字符為單位讀取文件數(shù)據(jù)FileWriter以字符為單位寫數(shù)據(jù)到文件中隨機(jī)訪問文件RandomAccessFile2023/6/445文件流FileInputStream類用來打開一個輸入文件,若要打開的文件不存在,則會產(chǎn)生例外FileNotFoundException,這是一個非運(yùn)行時異常,必須捕獲或聲明拋棄;

FileOutputStream類用來打開一個輸出文件,若要打開的文件不存在,則會創(chuàng)建一個新的文件,否則原文件的內(nèi)容會被新寫入的內(nèi)容所覆蓋。在進(jìn)行文件的讀/寫操作時,會產(chǎn)生非運(yùn)行時異常IOException,必須捕獲或聲明拋棄(其它的輸入/輸出流處理時也同樣需要進(jìn)行輸入/輸出例外處理)。2023/6/446從文件流的構(gòu)造方法FileInputStream(Stringname)打開一個文件路徑名為name的文件作為輸入。FileInputStream(Filef)打開一個以f描述的文件作為輸入。FileOutputStream(Stringname)創(chuàng)建一個文件路徑名為name的文件作為輸出,文件如果已經(jīng)存在,則其內(nèi)容被清空。FileOutputStream(Filef)創(chuàng)建一個以f描述的文件作為輸出,文件如果已經(jīng)存在,則其內(nèi)容被清空。FileOutputStream(Stringname,booleanappend)創(chuàng)建一個文件路徑名為name的文件作為輸出,文件如果已經(jīng)存在,則在該輸出上輸出的內(nèi)容被接到原有內(nèi)容之后。2023/6/447從文件流的構(gòu)造方法

Filef1=newFile(“file1.txt”);Filef2=newFile(“file2.txt”);

FileInputStreamin=newFileInputStream(f1);

FileOutputStreamout=newFileOutputStream(f2);

FileOutputStreamout=newFileOutputStream(“file3.txt”);

輸入流的參數(shù)是用于指定輸入的文件名,輸出流的參數(shù)則是用于指定輸出的文件名。輸出文件輸入文件readwrite2023/6/448隨機(jī)訪問文件隨機(jī)訪問文件方式可以在指定位置讀/寫字節(jié)內(nèi)容RandomAccessFile

實(shí)例對象同時具有類DataInputStream和類DataOutputStream的功能類RandomAccessFile實(shí)現(xiàn)了接口DataInput和DataOutput類DataInputStream實(shí)現(xiàn)了接口DataInput類DataOutputStream實(shí)現(xiàn)了接口DataOutput2023/6/449隨機(jī)訪問文件

RandomAccessFile:提供對文件的隨機(jī)訪問支持。它不是流也不是InputStream

和OutputStream

的子類。它直接繼承object,并且同時實(shí)現(xiàn)了接口DataInput和DataOutput接口,提供了支持隨機(jī)文件操作的方法:

readXXX()或writeXXX():如ReadInt(),ReadLine(),WriteChar(),WriteDouble()等。

int

skipBytes(intn):將指針向下移動若干字節(jié)

length():返回文件長度

longgetFilePointer():返回指針當(dāng)前位置

voidseek(longpos):將指針調(diào)到所需位置posfile2023/6/450隨機(jī)訪問文件在生成一個隨機(jī)文件對象時,除了要指明文件對象和文件名之外,還需要指明訪問文件的模式。

RandomAccessFile(Filefile,Stringmode)

RandomAccessFile(Stringname,Stringmode)mode

的取值:“r”只讀。

任何寫操作都將拋出IOException。“rw”讀寫。

文件不存在時會創(chuàng)建該文件,文件存在時,原文件內(nèi)容不變,通過寫操作改變文件內(nèi)容。“rws”同步讀寫。等同于讀寫,但是任何寫操作的內(nèi)容都被直接寫入物理文件,包括文件內(nèi)容和文件屬性?!皉wd”

數(shù)據(jù)同步讀寫。等同于讀寫,但任何內(nèi)容寫操作都直接寫到物理文件,但對文件屬性內(nèi)容的修改不是這樣。2023/6/451隨機(jī)訪問文件Filef=newFile(“file.txt”);newRandomAccessFile(f,“r”);newRandomAccessFile(f,“rw”);newRandomAccessFile(“file1.txt”,“r”);newRandomAccessFile(“file2.txt”,“rw”);swing組件繼承關(guān)系框圖布局管理器常用的布局管理器為:流式布局(FlowLayout)方位布局(BorderLayout)網(wǎng)格布局(GridLayout)網(wǎng)格塊布局(GridBagLayout)卡片布局(CardLayout)盒式布局(BoxLayout)swing容器默認(rèn)布局方式容器種類默認(rèn)布局方式j(luò)avax.swing.JAppletBorderLayout方位布局Javax.swingJFrameBorderLayout方位布局Javax.swing.JDialogBorderLayout

方位布局Javax.swing.JpanelFlowLayout流式布局Applet的生命周期Applet生命周期共有四種狀態(tài)初始態(tài)運(yùn)行態(tài)停止態(tài)消亡態(tài)四個成員方法:init()start()stop()destroy()Applet的生命周期初始化狀態(tài)(瞬時)運(yùn)行狀態(tài)停止?fàn)顟B(tài)死亡狀態(tài)Start復(fù)原或重新進(jìn)入該網(wǎng)頁StartStop關(guān)閉瀏覽器destroy第一次加載建構(gòu)Init圖標(biāo)化或進(jìn)入新的網(wǎng)頁實(shí)現(xiàn)線程的方法通過以下兩種方法創(chuàng)建

Thread對象:

聲明一個

Thread類的子類,并覆蓋run()方法。

cl

溫馨提示

  • 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

提交評論