字符串(P106,綜合應(yīng)用)
處理字符串的類:string和StringBuffer
字符串常量(見課本73頁)
雙引號括起來的字符序列。示例:“student”、“你好” 或“123.456”
字符串聲明和創(chuàng)建(見課本73-74頁)
String name1 = new String( );
String name2 = new String(“Hello World”);
char a[ ] ?= {‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’};
String name3 = new String(a);
String name4 = new String(a,2,4);
字符串基本操作(見課本74-77頁)
(1)字符串連接
String s1 = “sweet”;
String s2 = new String( “you ” + “are ” + s1);
(2)獲取字符串長度
方法:public int length()
功能:返回此字符串的長度
(3)字符串前綴或后綴的比較
方法:public boolean startsWith(String?prefix)
功能:測試此字符串是否以指定的前綴開始
方法:public boolean endsWith(String?suffix)
功能:測試此字符串是否以指定的后綴結(jié)束
(4)比較兩個字符串是否相同
方法:public boolean equals(Object?obj)
功能:比較兩個引用變量是否引用同一個對象,例如x.equals(y),對于任何非空引用值 x 和 y,當(dāng)且僅當(dāng) x 和 y 引用同一個對象時,此方法才返回 true(x == y 具有值 true)。
方法:public boolean equalsIgnoreCase(String?anotherString)
功能:將此String與另一個 String 比較,不考慮大小寫。如果兩個字符串的長度相同,并且其中的相應(yīng)字符都相等(忽略大小寫),則認為這兩個字符串是相等的。
方法:public int compareTo(String?str)
功能:按字典順序比較兩個字符串的大小。該比較基于字符串中各個字符的Unicode值。如果此 String 對象小于參數(shù)字符串,則返回一個負整數(shù)。如果此 String 對象大于參數(shù)字符串,則返回一個正整數(shù)。如果這兩個字符串相等,則返回 0。
方法:public int compareToIgnoreCase(String?str)
功能:按字典順序比較兩個字符串,不考慮大小寫。
(5)字符串檢索(選)
Java中字符串中子串的查找共有四種方法,第一個字符為0開始數(shù):
1、int indexOf(String str) :返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。(選)?
2、int indexOf(String str, int startIndex):從指定的索引處開始,返回第一次出現(xiàn)的指定子字符串在此字符串中的索引。?
3、int lastIndexOf(String str) :返回在此字符串中最右邊出現(xiàn)的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :從指定的索引處開始向后搜索,返回在此字符串中最后一次出現(xiàn)的指定子字符串的索引。如startIndex=3,那么就是從第4個開始查。
注意:
[if !supportLists]l?[endif]indexOf()方法對大小寫敏感!
[if !supportLists]l?[endif]如果要檢索的字符串值沒有出現(xiàn),則該方法返回-1。
public?class?Test?{??
????public?static?void?main(String[]?args)?{??
????????String?s?=?"xXccxxxXX";??
//從頭開始查找是否存在指定的字符?????????//結(jié)果如下???
????????System.out.println(s.indexOf("c"));?????//2??
//從第四個字符位置開始往后繼續(xù)查找,包含當(dāng)前位置??
????????System.out.println(s.indexOf("c",?3));??//3??
//若指定字符串中沒有該字符則系統(tǒng)返回-1??
????????System.out.println(s.indexOf("y"));?????//-1??
????????System.out.println(s.lastIndexOf("x"));?//6??
????}??
}??
(6)取字符串的子串(選)
substring( )可以用 來從一個String里檢索一個字符子串。
substring(start,last)可以用 來從一個String里檢索start到last的字符子串,取last前的字符。
如:?String str = “0123456789”;
S1.substring( 2); ?// “23456789”
????????S2.substring( 2,5); ?// “234”
????????S1+s2=23456789234
(7)替換字符串中的某字符得到一個新字符串
方法:public String replace(char?oldChar, char?newChar)
功能:返回一個新的字符串,它是通過用newChar替換此字符串中出現(xiàn)的所有 oldChar 得到的。
(8)去掉前后空格得到一個新字符串
方法:public String trim()
功能:返回字符串的副本,去掉前后空白。
(9)基本類型值的字符串表示
String的類方法valueOf( )用于把某種基本類型的值轉(zhuǎn)換成一個String對象。
(10)字符串得到基本類型對象
每種基本類(包裝類,除Character)都有類方法能將字符串轉(zhuǎn)換成基本類的對象,形如:
?????????public static Type valueOf(String s)
其中,Type代表任何基本類,包括Boolean、Integer、Double等。
(11)字符串得到基本類型值
每種基本類(包裝類,除Character)都有類方法能從字符串中解析出基本類型的值,形如:
?????????public static type parseType(String?s)
其中,type代表任何基本數(shù)據(jù)類型,包括boolean、int、double等,Type代表相應(yīng)的包裝類。
[if !supportLists](12)[endif]改變?yōu)榇笮?/p>
?toUpperCase( )從小寫變?yōu)榇髮懀簀ava->JAVA
?toLowerCase( ) 把大寫的字母變成小寫:Java->java
[if !supportLists](13)[endif]連接字符concat()
String s = new String("你好,");
String name = new String("張三!");
String sentence = s.concat(name);
System.out.println(sentence);//結(jié)果:你好,張三!