java基礎教程之字串的介紹,比較重要的一個知識點「四」

1、判斷字串的開始與結尾

startsWith()方法與endsWith()方法分別用於判斷字串是否以指定的內容開始或結束。這兩個方法的返回值都為boolean型別。

startsWith()方法

該方法用於判斷當前字串物件的字首是否是引數指定的字串。

語法:

str。startsWith(Stringprefix)

prefix:作為字首的字元。

endsWith()方法

該方法用於判斷當前字串是否是以給定的子字串結束。

語法:

str。endsWith(Stringsuffix)

suffix:作為字尾的字串。

在專案中建立類StartOrEnd,在主方法中建立String型變數,並判斷變數的前導和後置字串。

public

class

StartOrEnd { // 建立類

public

static

void

main(String args[]) { // 主方法

String num1 = “22045612”; // 定義字串num1

String num2 = “21304578”; // 定義字串num2

boolean

b = num1。startsWith(“22”); // 判斷字串num1是否以’22’開頭

boolean

b2 = num1。endsWith(“78”); // 判斷字串num1是否以’78’開頭

boolean

b3 = num2。startsWith(“22”); // 判斷字串num2是否以’22’開頭

boolean

b4 = num2。endsWith(“78”); // 判斷字串num2是否與’78’開頭

// 輸出資訊

System。

out

。println(“字串num1是以‘22’開始的嗎?” + b);

System。

out

。println(“字串num1是以‘78’結束的嗎?” + b2);

System。

out

。println(“字串num2是以‘22’開始的嗎?” + b3);

System。

out

。println(“字串num2是以‘78’結束的嗎?” + b4);

}

}

執行的結果如圖1所示。

java基礎教程之字串的介紹,比較重要的一個知識點「四」

圖1 執行結果

2、判斷字串是否相等

字串作為物件如對其進行比較不能簡單的使用比較運算子“==”,因為比較運算子比較的是兩個字串的地址是否相同。即使兩個字串的內容相同,但兩個物件的記憶體地址是不同的。使用比較運算子仍然會返回false。

使用比較運算子比較兩個字串,例項程式碼如下:

String tom =

new

String(“Iam a student”);

String jerry =

new

String(“Iam a student”);

boolean

b = (tom == jerry);

此時布林型變數b的值為false,因為字串是物件,tom、jerry是引用,記憶體示意圖如圖1所示。

java基礎教程之字串的介紹,比較重要的一個知識點「四」

圖1 記憶體示意圖

因此要比較兩個字串內容是否相等,應使用equals()方法和equalsIgnoreCase()方法。

equals()方法

如果兩個字串具有相同的字元和長度,則使用equals()方法進行比較時,則返回true。

語法:

str。equals(Stringotherstr)

str、otherstr:參加比較的兩個字串物件。

equalsIgnoreCase()方法

使用equals()方法對字串進行比較時,是區分大小寫的。而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個字串是否相等。返回結果仍為boolean型別。

語法:

str。equalsIgnoreCase(Stringotherstr)

str、otherstr:參加比較的兩個字串物件。

透過下面的例子可以看出equals()方法和equalsIgnoreCase()方法的區別。

在專案中建立類Opinion,在主方法中建立String型變數,實現判斷兩個字串是否相等,並將結果輸出。

public

static

void

main(String args[]) { //主方法

String s1 =

new

String(“abc”); //建立字串物件s1

String s2 =

new

String(“ABC”); //建立字串物件s2

String s3 =

new

String(“abc”); //建立字串物件s3

boolean

b = s1。equals(s2); //使用equals()方法比較s1與s2

boolean

b2 = s1。equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比較s1與s2

System。

out

。println(s1+ “ equals ” + s2 + “ :” + b); //輸出資訊

System。

out

。println(s1+ “ equalsIgnoreCase ” + s2 + “ :” + b2);

}

}

執行結果如圖2所示。

java基礎教程之字串的介紹,比較重要的一個知識點「四」

圖2 執行結果

3、按字典順序比較兩個字串

compareTo()方法為按字典順序比較兩個字串,該比較基於字串中各個字元的Unicode值。按字典順序將此String物件表示的字元序列與引數字串所表示的字元序列進行比較。如果按字典順序此String物件位於引數字串之前,則比較結果為一個負整數;如果按字典順序此String物件位於引數字串之後,則比較結果為一個正整數;如果這兩個字串相等,則結果為0。

語法:

str.compareTo(Stringotherstr)

str、otherstr:參加比較的兩個字串物件。

說明:compareTo()方法只有在equals(Object)方法返回true時才返回0。

在專案中建立類Wordbook,在主方法中建立String變數,使用compareTo()方法將字元變數進行比較。並將比較結果輸出。

public

class

Wordbook { //建立類

public

static

void

main(String args[]) { //主方法

String str =

new

String(“b”);

String str2 =

new

String(“a”); //用於比較的3個字串

String str3 =

new

String(“c”);

System。

out

。println(str+ “ compareTo ” + str2 + “:”

+ str。compareTo(str2)); //將str與str2比較的結果輸出

System。

out

。println(str+ “ compareTo ” + str3 + “:”

+ str。compareTo(str3)); //將str與str3比較的結果輸出

}

}

執行結果如圖1所示:

java基礎教程之字串的介紹,比較重要的一個知識點「四」

圖1 執行結果

今天就寫這麼多,後邊繼續寫吧,字串這邊比較重要,內容就寫詳細點吧!