DAY12 復習
1 String的創建方式
方式一:
char[] values = {‘a’,‘b’,‘c’};
String s1 = new String(value);
注意:每new一次,創建一個String物件,存在堆中
方式二:
String s = “abc”;
注意:存在堆中的常量池中,有高效的效果,如果是第二次創建,不會新建
注意:== 比較的如果是參考型別,那么是地址值
注意:String重寫了Object中的toString(),所以可以直接列印字串的具體內容
String重寫了Object中的equals(),所以比較的也是兩個字串的具體內容
2 StringBuilder 與 StringBuffer
- 使用前提:String提供了豐富的操作字串的方法,所以操作字串時還使用String
- String拼接字串時使用+進行拼接,效率比較低,所以需要使用工具類
- 創建方式:StringBuffer sb = new StringBuffer();
StringBuilder sb2 = StringBuilder(); - 常用方法:append()拼接效率高
2. 正則運算式
作用: 拿著我們指定好的規則,去判斷資料是否符合這個規則
- 指定規則:String regex = “[0-9]{17}[0-9X]”;
- 拿著資料與規則做比較:input.matches(regex)–>如果匹配,matches方法回傳true
注意:單個斜杠表示轉義字符,所以在正則中如果想要表示單個斜杠,需要寫雙斜杠
至于正則運算式的對照關系,詳見筆記中正則速查表

3. 包裝類
- Java的資料型別只有兩大類:8大基本型別與參考型別
- 包裝類是參考型別中的一種,包裝類與基本型別一一對應,也有8種
- 基本型別只能存自己型別的值,沒有其他額外的功能
- 包裝型別是對基本型別進行了包裝,提供了豐富的功能,包裝型別是基本型別的拓展

- 包裝型別Integer的創建方式:
1)Integer i1 = new Integer(5); 沒有高效的效果,new一次,創建一個包裝類物件
2)Integer i2 = Integer.valueOf(5); 有高效的效果,資料在-128~127的范圍內,才有高效的效果
3)Integer i3 = 5; 自動裝箱:編譯器會把int型別5裝箱,變成Integer,底層呼叫的方法:valueOf(5) - 包裝型別Double的創建方式:
1)Double d1 = new Double(3.4); 沒有高效的效果,new一次,創建一個包裝類物件
2)Double d2 = Double.valueOf(3.4);這個也沒有高效的效果,只有Integer有 - Integer的常用方法:i1.parseInt(“80”);將字串80轉成int型別的80
Double的常用方法:d1.parseDouble(“80”);將字串80轉成double型別的80 - 自動裝箱與自動拆箱:
1)Integer i3 = 5; 自動裝箱【基本型別 到 包裝型別】:
編譯器會把int型別的5裝箱,變成Integer型別,底層呼叫的方法:valueOf(5)
2)int n = i3;自動拆箱【包裝型別 到 基本型別】:
編譯器會把包裝型別的i3中的資料取出來,把這個值賦值給基本型別int
底層呼叫的方法:i3.intVlaue();
package cn.tedu.api;
/*本類用于測驗自動裝箱與自動拆箱*/
public class TestBox {
public static void main(String[] args) {
//1.定義包裝型別Integer型別的物件
Integer i1 = new Integer(5);
Integer i2 = Integer.valueOf(5);
//2.現在的方式:
/*1.自動裝箱:編譯器會自動把基本型別int 5,包裝成對應的包裝型別Integer
然后交給i3來保存,自動裝箱底層發生的代碼:Integer.valueOf(5);
valueOf()的方向:int ---> Integer*/
Integer i3 = 5;//不會報錯的,這個現象就是自動裝箱
/*2.自動拆箱:編譯器會自動把包裝型別的i1拆掉“箱子”,變回基本型別資料5
* 然后交給基本型別int型別的變數i4來保存,底層發生的代碼:i1.intValue()
* intValue()的方向:Integer ---> int*/
int i4 = i1;//不會報錯的,這個現象就是自動拆箱
}
}
4. 浮點數運算不精確的解決方案:BigDecimal
- 如果使用一個工具,必須先創建這個類的物件,如果想創建物件,必須先了解它提供了哪些構造方法
- 創建BigDecimal物件的方式:
1)BigDecimal(double val) :將double型別的資料作為引數,交給BigDecimal物件【不用,因為double本身不精確】
2)BigDecimal(String val) :將String型別的資料作為引數,交給BigDecimal物件【用這個】
注意:double->String直接拼接一個空串“”就可以 - 使用物件進行加減乘除操作,注意:除法除不盡時會拋出例外,所以需要指定除不盡時保留幾位小數以及舍入方式
5. File 檔案類
- 創建File類的物件:new File(String pathname) :這個引數是一個String型別的路徑名,這個路徑可能是:
1)檔案的路徑 “D:\ready\1.txt”
2)檔案夾的路徑 “D:\ready\a”
3)之前不存在的檔案/檔案夾的路徑:這個路徑暫時在windows中還未創建出來
注意:new File類的物件只是在記憶體中多個一個Java物件,并不會真的幫我們在外部創建一個新的檔案/檔案夾

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330308.html
標籤:java
