官术网_书友最值得收藏!

3.4 字符串

知識點講解:

字符串(String)是由0個或多個字符組成的有限序列,是編程語言中表示文本的數據類型。通常以字符串的整體作為操作對象,例如在字符串中查找某個子串、求取一個子串、在字符串的某個位置插入一個子串以及刪除一個子串等。兩個字符串相等的充要條件是:長度相等,并且各個對應位置的字符都相等。假設pq是兩個字符串,求qp中首次出現的位置的運算叫作模式匹配。字符串的兩種最基本的存儲方式是順序存儲和鏈接存儲。

3.4.1 字符串的初始化

在Java程序中,使用關鍵字new來創建String實例,具體格式如下所示。

          String a=new String( );

上面這行代碼創建了一個名為String的類,并把它賦給變量,但它此時是一個空的字符串。接下來就為這個字符串賦值,賦值代碼如下所示。

          a="I am a person Chongqing"

在Java程序中,我們將上述兩句代碼合并,就可以產生一種簡單的字符串表示方法。

          String s=new String ("I am a person Chongqing");

除了上面的表示方法,還有表示字符串的如下一種形式。

          String s= ("I am a person Chongqing");

實例3-16

初始化一個字符串

源碼路徑:daima\3\Stringone.java

實例文件Stringone.java的主要實現代碼如下所示。

          public static void main(String[] args) {
          ①       String str = "上邪";
          ②       System.out.println("OK");
          ③       String cde = "別人笑我太瘋癲";
          ④       System.out.println(str + cde);
          }

拓展范例及視頻二維碼

范例3-16-01:格式化一個字符串

源碼路徑:演練范例\3-16-01\

范例3-16-02:擴展賦值運算符的功能

源碼路徑:演練范例\3-16-02\

行①定義一個字符串變量str,設置str的初始值是“上邪”。

行②使用println()函數輸出字符串“OK”。

行③定義一個字符串變量cde,設置cde的初始值是“別人笑我太瘋癲”。

行④使用println()函數輸出字符串str和cde的組合。

執行后的結果如圖3-18所示。

圖3-18 執行結果

注意:字符串并不是原始的數據類型,而是一種復雜的數據類型,對它進行初始化的方法不止一種,但也沒有規定哪種方法最優秀,用戶可以根據自己的習慣使用。

3.4.2 String類

在Java程序中可以使用String類來操作字符串,在該類中有許多方法可以供程序員使用。

1.索引

在Java程序中,通過索引函數charAt()可以返回字符串中指定索引的位置。讀者需要注意的是,這里的索引數字從零開始,使用格式如下所示。

          public char charAt(int index)

2.追加字符串

追加字符串函數concat()的功能是在字符串的末尾添加字符串,追加字符串是一種比較常用的操作,具體語法格式如下所示。

          Public String concat (String S)

實例3-17

使用索引方法

源碼路徑:daima\3\suoyin.java

實例文件suoyin.java的主要實現代碼如下所示。

          public class suoyin {
              public static void main(String args[]){
          ①    String x="dongjiemeili";
          ②    System.out.println(x.charAt(5));
              }
          }

拓展范例及視頻二維碼

范例3-17-01:使用追加方法

源碼路徑:演練范例\3-17-01\

范例3-17-02:貨幣金額的大寫形式

源碼路徑:演練范例\3-17-02\

行①定義一個字符串變量x,設置x的初始值是“dongjiemeili”。

行②使用println()函數輸出字符串變量x中索引值為5的字母。因為下標從“0”開始,所以初學者可能會理解為字母“j”,可真正的結果并不是,下標為“5”,實際上是第6個字母。執行后的結果如圖3-19所示。

圖3-19 執行結果

3.比較字符串

比較字符串函數equalsIgnoreCase()的功能是對兩個字符串進行比較,看是否相同。如果相同,返回一個值true;如果不相同,返回一個值false。格式如下。

          public Boolean equalsIgnoreCase(String s)

4.取字符串長度

在String類中有一個方法可以獲取字符串的長度,語法格式如下所示。

          public int length ( )

實例3-18

使用字符串比較方法

源碼路徑:daima\3\bijiao.java

實例文件bijiao.java的主要實現代碼如下所示。

          public static void main(String args[]){
              ①       String x="student";
              ②       String xx="STUDENT";
              ③       String y="student";
              ④       String z="T";
              ⑤       System.out.println(x.equalsIgnoreCase(xx));
              ⑥       System.out.println(x.equalsIgnoreCase(y));
              ⑦       System.out.println(x.equalsIgnoreCase(z));
          }

拓展范例及視頻二維碼

范例3-18-01:使用求字符串長度的方法

源碼路徑:演練范例\3-18-01\

范例3-18-02:用String類格式化當前日期

源碼路徑:演練范例\3-18-02\

行①②③④定義4個字符串變量x、xx、y和z,設置x的初始值是“student”,設置xx的初始值是“STUDENT”,設置y的初始值是“student”,設置z的初始值是“T”。

行⑤使用函數equalsIgnoreCase()比較x和xx的值是否相等,然后使用println()函數輸出比較結果。

行⑥使用函數equalsIgnoreCase()比較x和y的值是否相等,然后使用println()函數輸出比較結果。

行⑦使用函數equalsIgnoreCase()比較x和z的值是否相等,然后使用println()函數輸出比較結果。

執行后的結果如圖3-20所示。

圖3-20 比較字符串的結果

5.替換字符串

替換是兩個動作,第一個是查找,第二個是替換。在Java中實現替換字符串的方法十分簡單,只需要使用replace()方法即可實現。此方法的聲明格式如下所示。

          public String replace (char old, char new)

6.字符串的截取

有時候,經常需要從長的字符串中截取一段字符串,此功能可以通過substring()方法實現,此方法有兩種語法格式。

第一種格式如下。

          public String substring(int begin)

第二種格式如下。

          public String substring (int begin, int end)

實例3-19

使用字符串替換方法

源碼路徑:daima\3\Tihuan.java

實例文件Tihuan.java的主要實現代碼如下所示。

          public static void main(String args[]){
          ①        String x="我想我要走了";
          ②        String y=x.replace(’走’, ’去’);
          ③        System.out.println(y);
          }

拓展范例及視頻二維碼

范例3-19-01:使用字符串截取方法

源碼路徑:演練范例\3-19-01\

范例3-19-02:字符串的大小寫轉換

源碼路徑:演練范例\3-19-02\

行①定義一個字符串變量x,設置x的初始值是“我想我要走了”。

行②定義一個字符串變量y,設置y的初始值是將x中的“走”替換為“去”之后的值。

行③使用println()函數輸出變量y的值。執行后的結果如圖3-21所示。

圖3-21 替換字符串的結果

7.字符串大小寫互轉

許多時候需要對字符串中的字母進行轉換,在String類里,用戶可以使用專用方法進行互換。將大寫字母轉換成小寫字母的方法的語法格式如下所示。

          public String toLowerCase ( )

將小寫字母轉換成大寫字母的方法的語法格式如下所示。

          Public String toUpperCase ( )

8.消除字符串中的空格字符

在字符串中可能有空白字符,有時在一些特定的環境中并不需要這樣的空白字符,此時我們可以使用trim()方法去除空白,此方法的語法格式如下所示。

          pbulic String trim ( )

實例3-20

將大寫字母轉換成小寫字母

源碼路徑:daima\3\Daxiao1.java

實例文件Daxiao1.java的主要實現代碼如下所示。

          public static void main(String args[]){
          ①        String x="I LOVE YoU! ! ";
                    //字母大小寫轉換
          ②        String y=x.toLowerCase();
          ③        System.out.println(x);
          ④        System.out.println(y);
          }

拓展范例及視頻二維碼

范例3-20-01:將小寫字母轉換成大寫字母

源碼路徑:演練范例\3-20-01\

范例3-20-02:使用trim()方法

源碼路徑:演練范例\3-20-02\

行①定義一個字符串變量x,設置x的初始值是“I LOVE YoU!!”。

行②定義一個字符串變量y,設置y的初始值是將x中的字母都轉換為小寫后的值。

行③④使用println()函數分別輸出變量x和y的值。執行后的結果如圖3-22所示。

圖3-22 執行結果

3.4.3 StringBuffer類

StringBuffer類是Java中另一個重要的操作字符串的類,當需要對字符串進行大量的修改時,使用StringBuffer類是最佳選擇。接下來將詳細講解StringBuffer類中的常用方法。

1.追加字符

在StringBuffer類中實現追加字符功能的方法的語法格式如下所示。

          public synchronized StringBuffer append(boolean b)

2.插入字符

前面的字符追加方法總是在字符串的末尾添加內容,倘若需要在字符串中添加內容,就需要使用方法insert(),語法格式如下所示。

          public synchronized StringBuffer insert(int offset, String s)

上述語法格式的含義是:將第2個參數的內容添加到第1個參數指定的位置,換句話說,第1個參數表示要插入的起始位置,第2個參數是需要插入的內容,可以是包括String在內的任何數據類型。

3.顛倒字符

字符顛倒方法能夠將字符顛倒,例如“我是誰”,顛倒過來就變成“誰是我”,很多時候需要顛倒字符。字符顛倒方法reverse()的語法格式如下所示。

          public synchronized StringBuffer reverse( )

實例3-21

使用字符追加函數

源碼路徑:daima\3\Zhui1.java

實例文件Zhui1.java的主要實現代碼如下所示。

        public static void main(String args[]){
        ①    StringBuffer x1 = new StringBuffer("金山
    WPS辦公");
        ②    x1.append(",中國人的選擇");
        ③    System.out.println(x1);
        ④    StringBuffer x2 = new StringBuffer("WPS");
        ⑤    x2.append(2009);
        ⑥    System.out.println(x2);
        }

拓展范例及視頻二維碼

范例3-21-01:替換指定的文本字符

源碼路徑:演練范例\3-21-01\

范例3-21-02:使用字符顛倒方法reverse()

源碼路徑:演練范例\3-21-02\

行①定義StringBuffer對象x1,設置x1的初始值是“金山WPS辦公”。

行②在x1的后面使用函數append()追加字符串“中國人的選擇”。

行③使用println()函數輸出x1的值。

行④定義StringBuffer對象x2,設置x2的初始值是“WPS”。

行⑤在x2的后面使用函數append()追加數字“2009”。

行⑥使用println()函數輸出x2的值。執行后的結果如圖3-23所示。

圖3-23 追加字符的結果

主站蜘蛛池模板: 永仁县| 健康| 肇州县| 合江县| 苍南县| 娄烦县| 湘潭县| 霍城县| 都安| 甘谷县| 哈尔滨市| 罗江县| 连云港市| 商洛市| 莱州市| 信阳市| 红安县| 尉氏县| 中牟县| 冕宁县| 新兴县| 沁阳市| 连江县| 长春市| 射阳县| 图们市| 垣曲县| 奎屯市| 郓城县| 平泉县| 安岳县| 浮山县| 乐昌市| 高雄县| 卢湾区| 红河县| 讷河市| 泰和县| 波密县| 丰县| 江北区|