天天看點

黑馬程式員09——字元串、字元串緩沖區

------- android教育訓練、java教育訓練、期待與您交流! ----------

1. 擷取方法

  char charAt(int index)傳遞一個索引,傳回這個索引上的字元,索引不存在,出現異常

  int indexOf(char ch)傳遞一個字元串,傳回這個字元在字元串中第一次出現的索引

     如果找不到這個字元,傳回下标的時候,結果小于0

  int indexOf(char ch,int indexfrom)傳遞一個字元串,傳回這個字元在字元串中第一次出現的索引

                      開始查找的位置,第二個參數指定的

  int indexOf(String s)傳遞一個字元串,查找這個字元串在另一個字元串中第一次出現的索引

  int indexOf(String s,int indexfrom)傳遞一個字元串,查找這個字元串在另一個字元串中第一次出現的索引

                      開始查找的位置,第二個參數指定的

  int lastIndexOf(char ch)傳遞一個字元,傳回這個字元在字元串中,最後一個出現的索引,反向搜尋

  int lastIndexOf(char ch,int indexform)傳遞一個字元,傳回這個字元在字元串中,最後一個出現的索引,反向搜尋

開始查找的位置,第二個參數指定的

  int lastIndexOf(String s)

  int lastIndexOf(String s,int indexform)

  int length() 傳回字元串中字元的個數

     length 屬性,數組長度    length() 方法,字元串的長度   size()方法,集合的長度

  String substring(int start,int end)擷取字元串中的一部分,包含頭,不包含尾巴,原始字元串不變,傳回新串

  String substring(int start)擷取字元串中的一部分,從開始下标,後面全要

    做開發的時候,标題的時候需要,世界杯德國奪冠

    世界杯德國奪冠,相隔24年後,再次捧起大力神杯

2. 轉換方法

   byte[] getBytes() 将字元串轉成位元組數組,查詢本機預設編碼表GBK

   char[] toCharArray() 将字元串轉成字元數組,不查詢編碼表

   String toUpperCase() 字元串轉成大寫字母,原始字元串不變

   String toLowerCase() 字元串轉成小寫字母,原始字元串不變

   static String valueOf(随便寫)将任意資料類型轉成字元串

   String concat(String s)兩個字元串連接配接作用  +

3. 其他方法

   String[] split(String s)切割字元串

   192.168.3.199  方法進行了按.切割  商業運作

   歡迎你,來自北京昌平網通ADSL , IP位址資料庫  1234334 - 14444343 昌平的

   String replace(char oldchar,char newchar)替換字元串

   String replace(String oldString,String newString)替換字元串

   關于replace實際用法,視訊網站關燈與開燈

   background=#FFFFFF

   String trim() 去掉字元串兩端空格

   實際的用法:等于你郵箱,輸入使用者名      空格

   int compareTo(String s)進行兩個字元串的比較,比較的字元串的字典順序a-z(自然順序)

   我和你比年齡  我大,我小,一樣的

   String s = "GFDGFD";

   s.compareTo("gfd");

   如果s大于"" 傳回正數

   如果s小于"" 傳回負數

   如果s等于"" 傳回0

4. 字元串的緩沖區 StringBuffer類

  特點:線程安全的可變字元序列

    線程安全:多個程式一起通路StringBuffer類的時候,保證資料安全,運作速度慢

    可變字元序列:構造一個其中不帶字元的字元串緩沖區,其初始容量為 16 個字元。

    緩沖區:一個容器,将字元串存儲到一起進行操作,效率高

    可變字元序列:StringBuffer這個類,底層實作是可變數組實作,預設數組16個字元

    變長數組(數組長度固定),采用複制數組的方式

5. StringBuffer類的常用方法

  構造方法:

    空參數構造方法, new StringBuffer()建立一個空的容器

    帶有一個String的參數  new StringBuffer(String s) 建立一個容器,存儲傳遞的字元串

  append()向緩沖區中,追加資料,任意資料類型,進到緩沖區後,變成字元串了

  這個方法的傳回值是 StringBuffer類型,方法傳回本類的對象

  public StringBuffer append(double d){

      return this;

  }

  既然傳回了本類對象,對象是可以調用方法的

  buffer.append(3.14).append(false).append(true).append(123);

  方法,傳回本類對象,繼續.方法,寫法方法調用鍊--鍊式程式設計

  Jquery  write less do more 最少的代碼,實作最多的功能

  delete(int start,int end)删除字元串緩沖區中的字元

  傳回本類的對象

  deleteCharAt(int index)删除索引上的字元

  傳回本類的對象

  insert(int offeset,任意類型)在指定位置上,插入字元

  傳回本類的對象,被插入的字元,出現在指定下标上,其他的向後順延

  setCharAt(int index,char ch)修改指定下标上的字元

  reverse()翻轉字元串緩沖區 ,倒過來

  将緩沖區變成字元串

  由StringBuffer類型,變成String類型,可以String類的方法,不可變對象了

  String toString()

  将String變成StringBuffere append

6. StringBuilder字元串緩沖區

  StringBuffer,StringBuilder

  兩個類的用法,完全一緻,方法上一模一樣

  StringBuffer開始JDK1.0

  StringBuilder開始JDK1.5

  StringBuffer是線程安全的,同步的,運作效率低

  StringBuilder線程不安全的,不同步,運作效率高

  推薦使用StringBuilder速度更快

7. reverse()翻轉緩沖區

  自己寫一個reverse()實作緩沖區翻轉

  使用者傳遞一個緩沖區對象,實作翻轉,傳回一個緩沖區對象

  abcd   dcba

  實作步驟:

    将緩沖區轉成數組,将緩沖區轉成String

    對數組進行翻轉

    數組變成緩沖區

8. 數組的翻轉

  最遠端換位,借助臨時變量

9. Scanner類

  java.util.Scanner 作用,接收鍵盤輸入,可以通過eclipse控制台

  windows cmd也可以輸入

  構造方法Scanner(InputStream source) 

  傳遞一個參數,位元組輸入流 InputStream類型

  傳遞  System.in  JVM底層自帶一個位元組輸入流

   String nextLine() 接收鍵盤輸入

   nextLine()方法,不輸入的時候,等着你輸入,程式不會結束

   線程的等待效果

   next()方法,弊端

   輸入空格,擷取不到空格後的