2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

JavaSE進階之學習筆記

更新時間:2018-01-05 來源:黑馬程序員 瀏覽量:

集合之set接口。特點:元素存取無序,元素不可重復,無索引。

HashSet集合

創建集合對象

添加元素對象

遍歷集合對象

1.轉數組

2.迭代器

3.增強for

通過查看源碼發現:

確保元素唯一性,先比hash值,再比地址值,或進行equals方法比較.比較結果一樣則認為重復不添加.不一樣則添加。當hashCode方法永遠返回1時,所有對象的hash值一樣。有一些對象的成員變量不同,但是還是需要進行hash和equals方法進行比較,為了提高程序的效率,可以把成員變量和hashCode方法的返回值關聯起來。

collection和collects有什么去區別?

collection是集合體系的最頂層,包含了集合體系的共性

collections是一個工具類

Map雙列集合(接口)

概述:雙列集合用于提供一對一數據的處理,與Collection屬于同級

特點:將鍵映射到值得對象.一個映射不能包含重復的鍵,每個鍵最多只能映射一個值

鍵不可重復,值可以重復

鍵是無序的

Map和Collections的區別

Map:雙列集合,用于處理具有對應關系的數據,key是不可重復的,也叫夫妻對集合

Collection:單列集合,具有不同的子體系,有有序的,也有無序的,也叫單身漢集合

常用功能:

刪除功能:

void clear();清空集合

V remove(Object obj):根據指定的key刪除對應關系,并返回key對應的值

判斷功能:

boolean containKey();判斷指定key是否存在

boolean containValue();判斷指定的value是否存在

boolean isEmpty();判斷集合是否為空

覆蓋功能:

V put(K key,V value);將key映射到value,key存在則覆蓋value,

遍歷功能:

Set

SetkeySet();將所有的鍵返回成一個Set集合

Collectionvalues();將所有的元素返回成一個Set集合或List集合,

獲取功能:

V get(Object key)

Map的遍歷方式:

1.找出所有的key,遍歷所有的key集合,獲取key,通過get()方法獲取value

2.通過Map的EntrySet方法來把Key和Value輸入到Map的內部類Entry中,再調用Entry對象的getKey方法和getValue方法來遍歷輸出

可變參數

當參數不確定,但類型要一致,Java可以直接轉成數組

實參:(實參1,實參2,....)

形參:類型名...變量名

注意:可以在可變參數前添加別的形參,但不可以在后面加

就業第八天

異常:

概述:不正常,我們在代碼出現的編譯或者運行時的錯誤

異常包含了錯誤的類型、原因以及位置

體系結構:

Throwable(最頂層):

Error:出現的不能夠處理的嚴重問題

Exception:可以處理的問題,編譯時期的異常

RuntimeException:編譯時正常,運行時發生的異常

常見異常:

NullPointerException:空指針

ArrayIndexOutOfBoundException:數組指針越界

任何數字除以0都會拋出異常

異常的處理方式:

//第一種方式

捕獲

try{

存放可能發生的異常代碼

可以有多行代碼

}catch(異常類型 異常對象名){

對異常進行處理的代碼

也可以通過異常對象名獲取異常的信息

}finally{

用于釋放資源

清理垃圾

}

首先執行try語句

發現異常,異常下面的代碼不執行,跳入catch語句,catch語句結束后,try...catch結束

沒有異常,不執行catch語句

處理多個異常

使用多個try...catch語句

使用一個try和多個catch語句

多個catch的順序

多個

平級沒有順序

有子父類,父類必須在后面

//第二種方式

拋出

在不想處理或沒有能力處理異常時,可以選擇拋出

關鍵字:throws,在方法的聲明處使用

定義格式:

方法名(參數列表) throws 異常類型1,異常類型2........{

}

JVM處理異常:

異常我們不處理,JVM會把異常的種類,原因還有把位置顯示在命令行,并且終止程序,異常后的代碼不再執行

try...catch操作捕獲的異常

String getMessage();

返回異常原因

String toString();

返回異常類型

void printStackTrace();

輸出異常原因和類型,還有位置

異常分類

1.運行時期異常:RuntimeExceptipon的子類就是運行時期異常,可以自行處理或者不處理

2.編譯時期異常:

非RuntimeException ,編譯時期的一樣必須處理

兩種異常處理方式

throws:處理異常的一種方式將異常拋出,由調用者處理

throw:制造異常的方式,并且結束方法

注意

拋出(throws)

遞歸:大事化小,小事化了

注意:

1.遞歸一定要有出口

2.遞歸次數不宜過多

就業第九天

IO流

絕對路徑:固定不可變的路徑,以盤符開頭

相對路徑:相對于某個參照物,不以盤符開頭

FIle類

常用功能:

創建功能

boolean createNewFile():

創建新文件,返回是否創建成功

文件不存在的時候返回true并創建文件,存在的時候返回false

boolean mkdir():

創建目錄,返回是否成功

文件夾不存在的時候返回true并創建,存在的時候返回false

boolean mkdirs();

創建多級目錄,包括指定路徑中缺少的父級目錄,

當多級文件夾不存在時返回true并創建多級文件夾,存在返回false

判斷功能

boolean exists():

判斷文件或文件夾是否存在,存在true,否則false

boolean isAbsolute():

判斷File對象指向的路徑是否是絕對路徑,是true,否false

boolean isDirectory():

判斷File對象指向的是否是目錄,是true,否false

boolean isFile():

判斷File對象指向的是否是文件,是true,否false

boolean isHidden():

判斷File對象指向的路徑是否有隱藏屬性,是true,否false

獲取功能

String[] list():獲取當前路徑下所有文件和目錄的名稱,返回成一個字符串數組

File[] listFiles():獲取當前路徑下所有文件和目錄,返回成一個File類的對象數組

static File[] listRoots():返回當前電腦的所有盤符

刪除功能

boolean delete():

刪除文件或文件夾,返回是否成功

當指定文件或文件夾存在時刪除文件,返回true,不存在時返回false

注意:delete()方法刪除文件夾,文件夾下面不能有文件和文件夾

IO流分類

流向

輸入流 讀取數據 FileReader Reader

輸出流 寫出數據 FileWriter Writer

數據類型

字節流 字節輸入流 讀取數據 InputStream類

字節輸出流 寫出數據 OutputStream類

字符流 字符輸入流 讀取數據 Reader類

字符輸出流 寫出數據 Writer類

遞歸中

就業第十天

轉換流

OutputStreamWriter:字節輸出流轉字符輸出流

InputStreamReader:字節輸入流轉字符輸入流

打印流

PrintStream:字節打印流

PrintWriter:字符打印流

特點:

1.自動換行

2.輸出除了字節以外的任意類型

3.通過構造方法配置,實現自動刷新(調用println、printf或format才有用)

4.包裝流,不具備寫功能

5.可以把字節流轉換流字符輸出流

對象操作流:可以用于讀寫任意類型的對象

ObjectInputStream:對象輸入流

readObject

ObjectInputStream(InputStream in)

ObjectOutputStream:對象輸出流

writeObject

ObjectOutputStream(OutputStream out)

注意:使用對象輸出流寫出對象,只能用對象輸入流寫入

解決對于實現序列化接口黃色警告的問題

集合

Properties :表示一個持久的屬性集,屬性列表中每個鍵及對應值都是一個字符串

構造方法:

Properties

和IO流結合

1.void list(PrintWriter out)

2.void load(Reader reader)

3.void store(writer

屬性 配置 Map();

亂碼

編碼表

ASCII:美國標準碼

GB2312 ---GBK 國標和國標擴展碼

Unicode:萬國碼

UTF-8:Unicode的一種實現方式,長度可變的碼表,一個字符棧1or2or3個字節

ANSI:本地編碼表,根據系統決定編碼

原因

字符串編碼的轉換

標準輸入輸出流

public static final InputStream in;字節輸入流,用來讀取鍵盤錄入的數據

public static final OutputStream out;字節輸出流,將數據輸出到控制臺


本文版權歸黑馬程序員JavaEE學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓學院

首發:http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!