Java核心之String緩衝

上節學習回顧:數組概念,使用,常識,main方法介紹,知識點,數組的特點,數組練習,創建

本節學習預覽:String類型介紹(詳細),StringBuffer,StringBuilder,數組拷貝,二維數組

再次說明:文章涉及的軟件讀者需要的話私信必發,意在幫助大家學習

知識體系:相對簡單的前端知識>Java核心>Oracle核心>Java Web開發>框架技術>MyBatis等前沿技術>實戰筆記>Linux系統學習

1.String類型

1.構造函數

String(char a[]);字符數組構造出String對象

String(char a[] int offset,int length);字符數組中從offset開始,length長度的字符

2.獲取字符串信息

1.length();獲取字符串長度

2.indexOf(String str);str首次出現的位置。沒有出現就返回-1。如果參數爲“”沒有空格,那麼會返回0

3.lastIndexOf(String str);str最後出現的位置。沒有出現就返回-1。如果參數爲“”沒有空格,那麼會返回length()一樣大的數字

4.charAt(int index);獲取索引處的字符。如果不在範圍就拋出String下標越界

3.字符串操作

1.substring(int beginIndex);從參數爲下標開始截取到最後

2.substring(int begin,int end);從下標begin開始,end結束,包左不包右。

3.trim();返回去除前後空格的字符串副本。

4.replace(char old,char new);替換old爲new,返回新的字符串。要是找不到old,就返回原來的字符串。

5.startsWith(String s);是不是以s開頭,返回boolean

6.endsWith(String s);是不是以s結尾。

7.equals(String s);和s是不是一樣,大小寫區分

8.equalsIgnoreCase(String s);忽略大小寫,是不是一樣。

9.compareTo(String s);按照字典順序比較,基於Unicode值。如果調用者字典順序在參數前面,返回負整數;要是一樣,返回0;後期看源碼就理解了。

10.toLowerCase();變成小寫。數字或非字符不受影響。

11.toUpperCase();變成大寫。數字或非字符不受影響。

12.split(String sign);按照sign拆分字符串,返回字符串數組。要是有多個分隔符,使用“|”分開,如:.split(“,|=”);逗號和等號分割

13.split(String sign,int limit);按照sign分割,限制分割次數爲limit就是最後切割成幾個字符串。從前往後切割,限制次數之外的就不切了直接爲最後一個字符串。

2StringBuffer和StringBuilder

1.介紹:起始位16個字符,可擴展。

2.區別:Buffer線程安全,builder效率高,常用

3.構造方法:空的,或者傳入一個String對象

4.方法:

append(參數);參數爲任意類型,追加到字符串後面

insert(int index,參數);在下標處插入參數,參數爲任意類型。

delete(int start,int end);從start開始到end刪除,包左不包右。如果start=end,則返回原來的字符串。如果不存在end,則直到最後。

3.數組的拷貝

System類的arrayCopy(原數組,開始的下標,目標數組,目標的起始位,要拷貝的長度)

但是實現的情況是:感覺更像是:讓原數組中的一段數字弄到新數組中替換原來的數字

4.二維數組

1.簡介:什麼是二維數組:數組的元素也是數組

2.聲明:

動態:int [ ][ ] arr = new int [2][3];

起初的認知中:一般以爲int[2][3]是二行三列,但是現在轉換思想,2是2個數組,3是每個數組3個長度。

靜態:int [ ][ ] arr = { {1,2,3} , {4,5,6} };

3.二維數組中new後面的小框第一個必須寫,第二個可以不寫。並且深入理解“二維數組的元素是一維數組,也是對象”

解釋:如果只有“行”,那麼輸出以後發現都是引用類型的默認值null

如果有行有列,這樣,二維數組的元素——一維數組也定義了長度,也會賦初值默認爲0。

總結:String類型是難點也是重點,主要是底層難以理解,看過文章的讀者肯定知道前面有過關於String底層硬件的存放,懂得它的特性,明白它的使用,本節是介紹String的用法。StringBuffer和StringBuilder是緩衝類,是很節省空間的類,其實很多String實現的底層代碼就是StringBuilder或者Buffer實現的,後面會學到。

結束語:做這一行就是要勤快練習,代碼量是很重要的,練習纔有經驗。祝大家學業有成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章