字符串筆記

一、字符串數組

  ·用雙引號括起來的0個或多個字符就是一個字符串變量函數

    「hello」oop

    「1」this

    「」spa

二、字符串變量.net

  ·String s;code

  ·String 是一個類,String的變量是對象的管理者而非全部者對象

  ·就像數組變量是數組的管理者而非全部者同樣blog

  ·包裹類型的第一個字母也是大寫的內存

三、new = 建立

  String s = new String(「a string」);

  建立了一個String的對象

  用「a string」初始化這個對象

  建立管理這個對象的變量s

  讓s管理這個對象

四、初始化字符串變量

  ·String s = "hello";

  ·編譯器幫你建立一個String類的對象交給s來管理

五、字符串鏈接

  ·用加號(+)能夠鏈接兩個字符串

  ·「hello」+「world」-->"helloworld"

  ·當這個+的一邊是字符串而另外一邊不是時,會將另外一邊表達爲字符串而後作鏈接

  「I'm 」+18-->"I'm 18"

  1+2+"age"-->"3age"

  "age"+1+2-->"age12"

六、輸入字符串

  ·in.next();讀入一個單詞,單詞的標誌是空格

  ·空格包括空格、tab和換行

  ·in.nextLine;讀入一整行

 七、比較兩個String

  ·String應該用.equals來比較

    if( input == "bye" ){    //比較是否管理同一個字符串
        ...
    }
    
    if( input.equals("bye") ){    //比較內容是否相同
        ...
    }

 八、字符串的改變

  如下面的代碼爲例

1         String s;
2         String k;
3         s = "koopa";
4         System.out.println(s);
5         k = "koopa";
6         k = k+" is a good man.";

  當第5行的k被第一次賦值的時候,其指向內存中的地址與變量s是同樣的

  即,此時k與s管理着同一個字符串「koopa」,此時如果比較(s == a),其結果是true

  第六行,k發生了變化,此時意味着在一個新的地方「koopa is a good man.」的字符串被建立了,原先位置的「koopa」並無發生變化

  即k此時管理的是另一個字符串,(s == a),其結果是false

  更詳細的內容,貼一個地址

  https://my.oschina.net/ccqy66/blog/507100

九、字符串的操做

  ·字符串是對象,對它的全部操做都是經過「.」這個運算符來進行的

  ·字符串.操做

  ·它表示對.左邊的這個字符串作右邊的那個操做

  ·這裏的字符串能夠是變量也能夠是常量

  ---

    1)String大小的比較

    ·兩個字符串能夠比較大小:

      s1.compareTo(S2)

    若是s1比s2小,那麼結果是負的;若是s1和s2相等,那麼結果是0;若是s1比s2大,那麼結果是正的

    ·compareToIgnoreCase能夠不區分大小寫地來比較大小   

    2)得到String的長度

    ·用length()函數

    String name = 「Hellola」;

    str1 = 「one」;

    str2 = "";

    str3;

    name.length(); -->7

    str1.length(); -->3

    str2.length(); -->0

    str3.length(); -->Error! (錯誤是由於str3沒有管理任何String對象)

    3)訪問String裏的字符

    · s.CharAt(index)

      ·返回在index上的單個字符

      ·index的範圍是0到length()-1

      ·第一個字符的index是0,和數組同樣

    ·可是不能用for-each循環來遍歷字符串

    4)獲得子串

    ·s.substring(n)

      ·獲得從n號位置到末尾的所有內容

    ·s.substring(b,e)

      ·獲得從b號位置到e號位置以前的內容

    5)尋找字符

    ·s.indexOf(c)

      獲得c字符所在的位置,-1表示不存在

    ·s.indexOf(c,n)

      從n號位置開始尋找c字符

    ·s.indexOf(t)

      找到字符串t所在的位置

    ·從右邊開始找

      s.lastIndexOf(c)

      s.lastIndexOf(c,n)

      s.lastIndexOf(t)

    6)其餘String操做

    ·s.startsWith(t)  //是不是以字符/字符串t開頭

    ·s.endsWith(t)  //是不是以字符/字符串t結尾

    ·s.trim()  //把字符串兩端的空格刪掉

    ·s.replace(c1,c2)  //把字符串中全部的c1都換成c2

    ·s.toLowerCase()  //把字符串中的字母所有轉換成小寫

    ·s.toUpperCase()  //把字符串中的字母所有轉換成大寫

    7)不可變的String

    ·全部的字符串都是不可變的,對它們的操做的結果都是製造新的字符串出來

    8)在switch-case中使用字符串

    1.7及以上的Java版本纔可以使用    

    switch(s){
    case "this":...break;
    case "that":...break;
    }
相關文章
相關標籤/搜索