java核心API知識(shí)點(diǎn)_第1頁(yè)
java核心API知識(shí)點(diǎn)_第2頁(yè)
java核心API知識(shí)點(diǎn)_第3頁(yè)
java核心API知識(shí)點(diǎn)_第4頁(yè)
java核心API知識(shí)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

1、Java知識(shí)點(diǎn)總結(jié)Java SE 部分Object類(lèi):java.lang.Object位于頂端,是所有對(duì)象的直接或者間接父類(lèi)。如果一個(gè)類(lèi)沒(méi)有寫(xiě)extends某個(gè)類(lèi),那么這個(gè)類(lèi)就是繼承自java.langObjectObject類(lèi)的方法:toString() 返回該對(duì)象的字符串表示。hashCode() 返回該對(duì)象的哈希碼值。equals() 指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。notify() 喚醒在此對(duì)象監(jiān)視器上等待的單個(gè)線程notifyAll() 喚醒在此對(duì)象監(jiān)視器上等待的所有線程getClass() 返回此 Object 的運(yùn)行時(shí)類(lèi)。clone() 創(chuàng)建并返回此對(duì)象的一個(gè)副本。wait

2、() 在其他線程調(diào)用此對(duì)象的 notify() 方法 或 notifyAll() 方法前,導(dǎo)致當(dāng)前線程等 待。注意:注意:=和equals的區(qū)別?=是比較兩對(duì)象是不是同一個(gè),根據(jù)地址值判斷。equals是比較兩個(gè)獨(dú)立對(duì)象內(nèi)容是否相同。String類(lèi):java.lang.String是字符串類(lèi)型,是“不可變”字符串,沒(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ì)象!StringString相關(guān)的方法:相關(guān)的方

3、法: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() 替換字符串。String、StringBuffer、StringBuilder的區(qū)別:1、String是不可變長(zhǎng)度的字符串,Str

4、ingBuffer、StringBuilder是可變長(zhǎng)度的字符串,可通過(guò)append()追加字符串。2、StringBuffer線程安全,因?yàn)檫M(jìn)行了一些安全校驗(yàn)操作,所以效率相對(duì)低一些。3、StringBuilder是線程不安全的,但是效率高,需要jdk-1.5以上。Collection接口:注意:注意:Collection是一個(gè)接口。Collections是一個(gè)工具類(lèi),它包含有各種有關(guān)集合操作的靜態(tài)方法。 List集合實(shí)現(xiàn)類(lèi):List是一個(gè)接口,是collection的子接口,元素可重復(fù),有序。ListList通常有兩個(gè)實(shí)現(xiàn)類(lèi):通常有兩個(gè)實(shí)現(xiàn)類(lèi):ArrayList:數(shù)組形式的集合,適用于查詢

5、操作。LinkedList:鏈?zhǔn)郊?,適用于增刪。list常用方法:size() 返回集合的長(zhǎng)度。clear() 清空集合。isEmpty() 用于返回集合是否為空。contains() 檢查對(duì)象是否被包含在集合中。add() 向滾動(dòng)列表的末尾添加指定的項(xiàng)。remove() 刪除集合中的元素。注意:注意:v ve ectorctor線程安全線程安全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è)

6、對(duì)象添加到隊(duì)尾。poll() 從隊(duì)列中取出元素,是最早的那個(gè)元素,取出后,該元素會(huì)從隊(duì)列中刪除。peek() 獲取隊(duì)首元素,不刪除。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() 獲取棧頂位置元素,但是不取出Set集合實(shí)現(xiàn)類(lèi):set是一個(gè)接口,是collection的子接口,元素不可重復(fù),無(wú)序。在set集合存儲(chǔ)對(duì)象中,不存在兩個(gè)對(duì)象equals比較為

7、true的情況。Set通常有兩個(gè)實(shí)現(xiàn)類(lèi):HashSet:利用hash散列算法的方式實(shí)現(xiàn)。TreeSet:利用二叉樹(shù)的方式實(shí)現(xiàn)。注意:注意:Hashtable Hashtable 線程安全線程安全Map接口:Map接口定義的集合又稱為查找表,是鍵值對(duì)的形式,key-valuekey不可重復(fù),但是保存的value可以重復(fù)。基本原理圖:Map集合中常用的方法:V put() 將元素以key-value的形式存入 mapV get() 返回key所對(duì)應(yīng)的value值boolean containsKey() 判斷集合中是否含 有keyboolean containsValue() 判斷集合中是否 含有

8、value遍歷Map的三種方法:1、Values() 獲取value值2、keySet() 將key存入一個(gè)set集合后返回3、EntrySet() 獲取鍵值對(duì)key-valueCalendar Calendar 日歷日歷calendar是一個(gè)抽象類(lèi),不能實(shí)例化!世界上不同的地區(qū)有不同的子類(lèi)實(shí)現(xiàn)。使用的設(shè)置時(shí)間的通用方法為get()calendar只有計(jì)算月份從0開(kāi)始,以此類(lèi)推,11為12月份,其他時(shí)間正常從1開(kāi)始!實(shí)例:實(shí)例:SimpleDateFormat SimpleDateFormat 日期轉(zhuǎn)換類(lèi)日期轉(zhuǎn)換類(lèi)作用:該類(lèi)可以很方便的對(duì)字符串和日期之間進(jìn)行相互轉(zhuǎn)換。方法: parse方法:按

9、照特定格式將字符串轉(zhuǎn)化為Date對(duì)象。 fomat方法:將Date數(shù)據(jù)(對(duì)象)轉(zhuǎn)換為字符串。注意:DateFormat是SimpleDateDormat 的父類(lèi),是一個(gè)抽象類(lèi)。實(shí)例:實(shí)例:包裝類(lèi)包裝類(lèi)Java中對(duì)8中基本類(lèi)型進(jìn)行了包裝類(lèi)型的處理,每一個(gè)包裝類(lèi)都封裝了一個(gè)基本類(lèi)型,同時(shí)還提供了包裝類(lèi)的使用方法。包裝類(lèi)的目的:將基本類(lèi)型當(dāng)做引用類(lèi)型看待。包裝類(lèi)的名字包裝類(lèi)的名字:除了Integer(int)和Character(char)外,其他的都是基本類(lèi)型的首字母大寫(xiě)!裝箱:Double d1 = Double.valueOf(2.2); Double d2 = new Double(2.2)

10、;拆箱:double d3 = d2.doubleValue();注意:注意:JDK1.5+ 實(shí)現(xiàn)自動(dòng)拆包裝箱!RandomAccessFileRandomAccessFile類(lèi)類(lèi)隨機(jī)訪問(wèn)文件:可以方便的讀寫(xiě)文件,但是只能1、計(jì)算機(jī)在保存文件的時(shí)候是byte by byte保存的。2、RandomAccessFile打開(kāi)模式:“rw”可讀寫(xiě),“r”只讀。3、RandomAccessFile是根據(jù)指針讀取的,指針到哪里,就讀到哪里。void seek(long pos):從文件開(kāi)頭到指針偏移量,在該位置發(fā)生下一次讀寫(xiě)操作。getFilePointer():獲取指針位置。int skipBytes

11、(int n):跳過(guò)輸入的n個(gè)字節(jié)。注意:注意:讀寫(xiě)操作結(jié)束以后,務(wù)必關(guān)閉。調(diào)用close()方法。IOIO流流根據(jù)方向分為輸入流和輸出流。流向我們程序的流叫做輸入流,從程序向外的流叫做輸出流。(可以這么記:讀入寫(xiě)出)java的流相當(dāng)于自來(lái)水管道,只不過(guò)里面流動(dòng)的是字節(jié)!InputStream和OutputStream定義了輸入輸出流的特征。流的分類(lèi):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é)”為單位,

12、通常Stream結(jié)尾。 字符流:以一個(gè)“字符”為單位,通常以Reader / Writer為單位。3、用于讀寫(xiě)文件的基本流:FOS / FIS注意:注意:緩沖字節(jié)高級(jí)流:緩沖字節(jié)高級(jí)流: 作用:對(duì)傳入的流進(jìn)行加工處理,可以嵌套使用。作用:對(duì)傳入的流進(jìn)行加工處理,可以嵌套使用。1、BufferedInputStream:2、BufferedOutputStream:如何判斷一個(gè)流是低級(jí)流還是高級(jí)流?如何判斷一個(gè)流是低級(jí)流還是高級(jí)流?答:看構(gòu)造方法:如果構(gòu)造方法中如果有要求傳入?yún)?shù),那么這個(gè)流就是高級(jí)流。所以,高級(jí)流是沒(méi)有無(wú)參構(gòu)造器的,都需要傳入一個(gè)流。注意:注意:緩沖流一般情況下為寫(xiě)入操作的流,

13、在數(shù)據(jù)寫(xiě)完后一定要使用flush()方法,該方法的作用是一次性將緩存區(qū)的數(shù)據(jù)寫(xiě)出,不管緩存區(qū)有多少數(shù)據(jù),都先寫(xiě)出去!DISDIS和和DOS DOS :處理基本數(shù)據(jù)的流:處理基本數(shù)據(jù)的流分為DateInputStream和DateOutputStream字符高級(jí)流:ISR和OSW以“字符”為單位,一次處理一個(gè)字符(unicode),所有字符流都是高級(jí)流。PrintWriter另一種緩沖“字符”輸出流,以行行為單位,常用它做輸出。Java異常處理機(jī)制異常處理中的父類(lèi)是Throwable類(lèi),其下屬有Exception和Error。我們?cè)诔绦蛑锌梢圆东@的是Exception。Error是系統(tǒng)級(jí)別的錯(cuò)誤

14、,我們不可控。Exception是程序級(jí)別的異常,我們可以控制。異常處理語(yǔ)句:異常處理語(yǔ)句:try /關(guān)鍵字,只有一個(gè)try語(yǔ)句 /可能發(fā)生異常的代碼片段catch(Exception e) /列舉代碼中可能出現(xiàn)的異常類(lèi)型, /可能有多個(gè)catch語(yǔ)句,在這里進(jìn)行處理finally /必須會(huì)執(zhí)行,finally中不要書(shū)寫(xiě)return,否則該方法永遠(yuǎn)返回這個(gè)return的值catch的捕獲是由上至下的,所以不要把父類(lèi)的的捕獲是由上至下的,所以不要把父類(lèi)的異常寫(xiě)在子類(lèi)的上面,否則子類(lèi)永遠(yuǎn)沒(méi)有機(jī)會(huì)處異常寫(xiě)在子類(lèi)的上面,否則子類(lèi)永遠(yuǎn)沒(méi)有機(jī)會(huì)處理。理。例如:try fis = new FileInput

15、Stream(H:/金莎-被風(fēng)吹過(guò)的夏 天.mp3); catch (FileNotFoundException e) e.getMessage();/獲取有關(guān)異常事件的信息catch (Exception e) e.printStackTrace();/用來(lái)跟蹤異常事件發(fā)生時(shí),堆 棧的的內(nèi)容。關(guān)鍵字關(guān)鍵字throwthrow和和throwsthrows: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í)聲明可能拋出的異常種類(lèi),通知調(diào)用者捕獲。區(qū)別:throw:拋出異常throws:聲明異常注意:注意:實(shí)際運(yùn)用中,不能在實(shí)際運(yùn)用中,不能在mainmain方法中方法中throwsthrows異常,異常,因?yàn)橐驗(yàn)閙ai

溫馨提示

  • 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)論