第六週學習總結

20175205 2018-2019-2 《Java程序設計》第六週學習總結

教材學習內容總結

教材學習中的問題和解決過程

Q:不知道怎麼在IDEA上開啓斷言
A:Run - > Edit Configurations -> VM options 輸入 -ea


html

Q:教材第十章例子四,有關String類的方法String(a,0,n)不太懂
A:a是把一個字節數組a從0取到n,取出來以後轉換成String類型java

Q:教材第十章例子五,getBytes()方法沒有接觸過
A:String的getBytes()方法是獲得一個操做系統默認的編碼格式的字節數組。這個表示在不一樣狀況下,返回的東西不同。存儲字符數據時,會先進行查表,而後將查詢的結果寫入設備,讀取時也是先查表,把查到的內容打印到顯示設備上,getBytes()是使用默認的字符集進行轉換,getBytes(「utf-8」)是使用UTF-8編碼表進行轉換。git

Q:教材例子六爲何只關閉了輸出流而沒有關閉輸入流
A: 。。。尚未獲得解答正則表達式

Q:在使用Scanner解析文件時,使用正則表達式做爲分隔符,如何寫出正則表達式"[^0123456789.]+"
A:[^abc]匹配除了abc之外的任意字符
+ (懶惰) 重複一次或更屢次,例如"aaaaaaaa" 匹配字符串中全部的a 正則: "a+" 會取到字符中全部的a字符, "a+"與"a"不一樣在於"+"至少是一次而"" 能夠是0次,數組

代碼調試中的問題和解決過程

Q:在IDEA中運行結果所顯示的字節數和書上的不一樣
緩存

A:不一樣的編碼格式佔字節數是不一樣的,UTF-8編碼下一個中文佔3字節。函數

Q:在字符輸入,輸出流遇到一段代碼,不知道flush的做用學習

out.flush();
out.close();

A:flush()這個函數是清空的意思,用於清空緩衝區的數據流,進行流的操做時,數據先被讀到內存中,而後再用數據寫到文件中,那麼當你數據讀完時,咱們若是這時調用close()方法關閉讀寫流,這時就可能形成數據丟失,由於,讀入數據完成時不表明寫入數據完成,一部分數據可能會留在緩存區中。編碼

代碼託管


總結

這兩章讓我學的頭大,新的類和方法十分多,學完以後方法有些混淆,所以我對所學過的內容作了一個總結。操作系統

  • 全部輸入流類都是抽象類InputStream(字節輸入流),或者抽象類Reader(字符輸入流)的子類;
    而全部輸出流都是抽象類OutputStream(字節輸出流)或者Writer(字符輸出流)的子類。
    • 字節輸入流

    • 字節輸出流

    • 字符輸入流

    • 字符輸出流

  • 具體用法
    • 字節輸入輸出流

    • 字符輸入輸出流

參考資料

相關文章
相關標籤/搜索