核心API知識(shí)點(diǎn)的學(xué)習(xí)教案_第1頁(yè)
核心API知識(shí)點(diǎn)的學(xué)習(xí)教案_第2頁(yè)
核心API知識(shí)點(diǎn)的學(xué)習(xí)教案_第3頁(yè)
核心API知識(shí)點(diǎn)的學(xué)習(xí)教案_第4頁(yè)
核心API知識(shí)點(diǎn)的學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

核心API知識(shí)點(diǎn)的學(xué)習(xí)教案第1頁(yè)/共28頁(yè)JavaSE部分Object類:java.lang.Object位于頂端,是所有對(duì)象的直接或者間接父類。如果一個(gè)類沒(méi)有寫(xiě)extends某個(gè)類,那么這個(gè)類就是繼承自java.langObjectObject類的方法:toString()返回該對(duì)象的字符串表示。hashCode()返回該對(duì)象的哈希碼值。equals()指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。notify()

喚醒在此對(duì)象監(jiān)視器上等待的單個(gè)線程notifyAll()

喚醒在此對(duì)象監(jiān)視器上等待的所有線程getClass()

返回此Object的運(yùn)行時(shí)類。clone()

創(chuàng)建并返回此對(duì)象的一個(gè)副本。wait()

在其他線程調(diào)用此對(duì)象的notify()方法

或notifyAll()方法前,導(dǎo)致當(dāng)前線程等

待。注意:==和equals的區(qū)別?==是比較兩對(duì)象是不是同一個(gè),根據(jù)地址值判斷。equals是比較兩個(gè)獨(dú)立對(duì)象內(nèi)容是否相同。第2頁(yè)/共28頁(yè)String類:java.lang.String是字符串類型,是“不可變”字符串,沒(méi)有線程安全問(wèn)題。String在設(shè)計(jì)之初,就進(jìn)行了優(yōu)化,將字符串保存在字符串常量池中,當(dāng)我們創(chuàng)建一個(gè)字符串的時(shí)候,虛擬機(jī)會(huì)在常量池中找是否創(chuàng)建過(guò)相同的字符串,如果存在則直接引用。對(duì)字符串的任何變動(dòng)都是創(chuàng)建一個(gè)新的對(duì)象,而不是影像以前的對(duì)象!String相關(guān)的方法:subString()截取字符串,下標(biāo)從0開(kāi)始(含頭不含尾)split()將字符串根據(jù)符號(hào)分割。toLowerCase()將字符串轉(zhuǎn)換成小寫(xiě)。toUpperCase()將字符串轉(zhuǎn)換成大寫(xiě)。trim()去掉字符串前后的空白字符。startWith()判斷字符串是否以參數(shù)字符串開(kāi)頭。endWith()判斷字符串是否以參數(shù)字符串結(jié)尾。length()返回字符串的長(zhǎng)度。indexOf()

返回指定字符在此字符串中第一次出現(xiàn)處

的索引。replace()替換字符串。第3頁(yè)/共28頁(yè)String、StringBuffer、StringBuilder的區(qū)別:1、String是不可變長(zhǎng)度的字符串,StringBuffer、StringBuilder是可變長(zhǎng)度的字符串,可通過(guò)append()追加字符串。2、StringBuffer線程安全,因?yàn)檫M(jìn)行了一些安全校驗(yàn)操作,所以效率相對(duì)低一些。3、StringBuilder是線程不安全的,但是效率高,需要jdk-1.5以上。第4頁(yè)/共28頁(yè)Collection接口:注意:Collection是一個(gè)接口。Collections是一個(gè)工具類,它包含有各種有關(guān)集合操作的靜態(tài)方法。

第5頁(yè)/共28頁(yè)List集合實(shí)現(xiàn)類:List是一個(gè)接口,是collection的子接口,元素可重復(fù),有序。List通常有兩個(gè)實(shí)現(xiàn)類:①ArrayList:數(shù)組形式的集合,適用于查詢操作。②LinkedList:鏈?zhǔn)郊?,適用于增刪。list常用方法:size()返回集合的長(zhǎng)度。clear()清空集合。isEmpty()用于返回集合是否為空。contains()檢查對(duì)象是否被包含在集合中。add()

向滾動(dòng)列表的末尾添加指定的項(xiàng)。remove()刪除集合中的元素。注意:vector線程安全第6頁(yè)/共28頁(yè)List高級(jí)數(shù)據(jù)結(jié)構(gòu)--隊(duì)列:隊(duì)列Queue:限制了對(duì)線性表的訪問(wèn)方式,只能從一端添加元素,另一端取出元素。Queue接口在java.util.Queue下。隊(duì)列遵循先進(jìn)先出的原則:FIFO,隊(duì)列不支持插隊(duì)。Queue常用方法:offer()將一個(gè)對(duì)象添加到隊(duì)尾。poll()從隊(duì)列中取出元素,是最早的那個(gè)元素, 取出后,該元素會(huì)從隊(duì)列中刪除。peek()獲取隊(duì)首元素,不刪除。第7頁(yè)/共28頁(yè)List高級(jí)數(shù)據(jù)結(jié)構(gòu)--棧:棧Deque是常用的數(shù)據(jù)結(jié)構(gòu),是Queue隊(duì)列的子接口,棧將雙端隊(duì)列限制為只能一端入隊(duì)和出隊(duì),在java.util.Deque下。棧Deque遵循先進(jìn)后出原則:FILODeque常用方法:push()壓棧,向棧中存入數(shù)據(jù)pop() 彈出,從棧中取出數(shù)據(jù)peek()獲取棧頂位置元素,但是不取出第8頁(yè)/共28頁(yè)Set集合實(shí)現(xiàn)類:set是一個(gè)接口,是collection的子接口,元素不可重復(fù),無(wú)序。在set集合存儲(chǔ)對(duì)象中,不存在兩個(gè)對(duì)象equals比較為true的情況。Set通常有兩個(gè)實(shí)現(xiàn)類:①HashSet:利用hash散列算法的方式實(shí)現(xiàn)。②TreeSet:利用二叉樹(shù)的方式實(shí)現(xiàn)。注意:Hashtable線程安全第9頁(yè)/共28頁(yè)Map接口:Map接口定義的集合又稱為查找表,是鍵值對(duì)的形式,key-valuekey不可重復(fù),但是保存的value可以重復(fù)?;驹韴D:第10頁(yè)/共28頁(yè)Map集合中常用的方法:①Vput()將元素以key-value的形式存入 map②Vget()返回key所對(duì)應(yīng)的value值③booleancontainsKey()判斷集合中是否含 有key④booleancontainsValue()判斷集合中是否 含有value第11頁(yè)/共28頁(yè)遍歷Map的三種方法:1、Values()獲取value值2、keySet()將key存入一個(gè)set集合后返回3、EntrySet()獲取鍵值對(duì)key-value第12頁(yè)/共28頁(yè)Calendar日歷calendar是一個(gè)抽象類,不能實(shí)例化!世界上不同的地區(qū)有不同的子類實(shí)現(xiàn)。使用的設(shè)置時(shí)間的通用方法為get()calendar只有計(jì)算月份從0開(kāi)始,以此類推,11為12月份,其他時(shí)間正常從1開(kāi)始!實(shí)例:第13頁(yè)/共28頁(yè)SimpleDateFormat日期轉(zhuǎn)換類作用:該類可以很方便的對(duì)字符串和日期之間進(jìn)行相互轉(zhuǎn)換。方法:①parse方法:按照特定格式將字符串轉(zhuǎn)化為Date對(duì)象。②fomat方法:將Date數(shù)據(jù)(對(duì)象)轉(zhuǎn)換為字符串。注意:DateFormat是SimpleDateDormat的父類,是一個(gè)抽象類。實(shí)例:第14頁(yè)/共28頁(yè)包裝類Java中對(duì)8中基本類型進(jìn)行了包裝類型的處理,每一個(gè)包裝類都封裝了一個(gè)基本類型,同時(shí)還提供了包裝類的使用方法。包裝類的目的:將基本類型當(dāng)做引用類型看待。包裝類的名字:除了Integer(int)和Character(char)外,其他的都是基本類型的首字母大寫(xiě)!裝箱:①Doubled1=Double.valueOf(2.2);②Doubled2=newDouble(2.2);拆箱:doubled3=d2.doubleValue();注意:JDK1.5+實(shí)現(xiàn)自動(dòng)拆包裝箱!第15頁(yè)/共28頁(yè)RandomAccessFile類隨機(jī)訪問(wèn)文件:可以方便的讀寫(xiě)文件,但是只能一個(gè)字節(jié)(byte)一個(gè)字節(jié)的讀取。1、計(jì)算機(jī)在保存文件的時(shí)候是bytebybyte保存的。2、RandomAccessFile打開(kāi)模式:“rw”可讀寫(xiě),“r”只讀。3、RandomAccessFile是根據(jù)指針讀取的,指針到哪里,就讀到哪里。操作常用方法:voidseek(longpos):從文件開(kāi)頭到指針偏移量,在該位置發(fā)生下一次讀寫(xiě)操作。getFilePointer():獲取指針位置。intskipBytes(intn):跳過(guò)輸入的n個(gè)字節(jié)。注意:讀寫(xiě)操作結(jié)束以后,務(wù)必關(guān)閉。調(diào)用close()方法。第16頁(yè)/共28頁(yè)IO流根據(jù)方向分為輸入流和輸出流。流向我們程序的流叫做輸入流,從程序向外的流叫做輸出流。(可以這么記:讀入寫(xiě)出)java的流相當(dāng)于自來(lái)水管道,只不過(guò)里面流動(dòng)的是字節(jié)!InputStream和OutputStream接口定義了輸入輸出流的特征。流的分類:1、根據(jù)來(lái)源根據(jù)不同分為:①基本流(節(jié)點(diǎn)流):從特定的地方讀取的流,有來(lái)源根據(jù)。②處理流(高級(jí)流,過(guò)濾流):沒(méi)有來(lái)源根據(jù),使用的時(shí)候要基于基本流。時(shí)使用已經(jīng)存在的輸入或輸出流進(jìn)行連接。2、根據(jù)處理的數(shù)據(jù)不同分為:①字節(jié)流:以一個(gè)“字節(jié)”為單位,通常Stream結(jié)尾。②字符流:以一個(gè)“字符”為單位,通常以Reader/Writer為單位。3、用于讀寫(xiě)文件的基本流:FOS/FIS注意:FOS中,向file寫(xiě)入文件時(shí),如果文件不存在,會(huì)自動(dòng)創(chuàng)建一個(gè)文件。第17頁(yè)/共28頁(yè)緩沖字節(jié)高級(jí)流:作用:對(duì)傳入的流進(jìn)行加工處理,可以嵌套使用。1、BufferedInputStream:2、BufferedOutputStream:第18頁(yè)/共28頁(yè)如何判斷一個(gè)流是低級(jí)流還是高級(jí)流?答:看構(gòu)造方法:如果構(gòu)造方法中如果有要求傳入?yún)?shù),那么這個(gè)流就是高級(jí)流。所以,高級(jí)流是沒(méi)有無(wú)參構(gòu)造器的,都需要傳入一個(gè)流。注意:緩沖流一般情況下為寫(xiě)入操作的流,在數(shù)據(jù)寫(xiě)完后一定要使用flush()方法,該方法的作用是一次性將緩存區(qū)的數(shù)據(jù)寫(xiě)出,不管緩存區(qū)有多少數(shù)據(jù),都先寫(xiě)出去!第19頁(yè)/共28頁(yè)DIS和DOS:處理基本數(shù)據(jù)的流分為DateInputStream和DateOutputStream第20頁(yè)/共28頁(yè)字符高級(jí)流:ISR和OSW以“字符”為單位,一次處理一個(gè)字符(unicode),所有字符流都是高級(jí)流。第21頁(yè)/共28頁(yè)P(yáng)rintWriter另一種緩沖“字符”輸出流,以行為單位,常用它做輸出。第22頁(yè)/共28頁(yè)Java異常處理機(jī)制異常處理中的父類是Throwable類,其下屬有Exception和Error。我們?cè)诔绦蛑锌梢圆东@的是Exception。Error是系統(tǒng)級(jí)別的錯(cuò)誤,我們不可控。Exception是程序級(jí)別的異常,我們可以控制。異常處理語(yǔ)句:try{//關(guān)鍵字,只有一個(gè)try語(yǔ)句//可能發(fā)生異常的代碼片段}catch(Exceptione){//列舉代碼中可能出現(xiàn)的異常類型,//可能有多個(gè)catch語(yǔ)句,在這里進(jìn)行處理}finally{//必須會(huì)執(zhí)行,finally中不要書(shū)寫(xiě)return,否則該方法永遠(yuǎn)返回這個(gè)return的值}第23頁(yè)/共28頁(yè)catch的捕獲是由上至下的,所以不要把父類的異常寫(xiě)在子類的上面,否則子類永遠(yuǎn)沒(méi)有機(jī)會(huì)處理。例如:try{fis=newFileInputStream("H:/金莎-被風(fēng)吹過(guò)的夏天.mp3");}catch(FileNotFoundExceptione){e.getMessage();//獲取有關(guān)異常事件的信息}catch(Exceptione){e.printStackTrace();//用來(lái)跟蹤異常事件發(fā)生時(shí),堆棧的的內(nèi)容。}第24頁(yè)/共28頁(yè)關(guān)鍵字throw和throws:throw關(guān)鍵字:用于拋出一個(gè)異常,當(dāng)我們的方法出現(xiàn)錯(cuò)誤時(shí)(不一定是真實(shí)的異常),我們要將錯(cuò)誤拋出給調(diào)用方法處理,而拋出去的時(shí)候就是使用throw關(guān)鍵字。throws關(guān)鍵字:不希望在某個(gè)方法中直接處理異常,而是希望調(diào)用者統(tǒng)一處理該異常,我們可以同時(shí)聲明可能拋出的異常種類,通知調(diào)用者捕獲。區(qū)別:throw:拋出異常throws:聲明異常注意:實(shí)際運(yùn)用中,不能在main方法中throws異常,因?yàn)閙ain方法的調(diào)用者是JVM機(jī)!第25頁(yè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論