bigdecimal比较是否相等_java基础教程之字符串的介绍,比较重要的一个知识点【四】...
1、判斷字符串的開始與結(jié)尾
startsWith()方法與endsWith()方法分別用于判斷字符串是否以指定的內(nèi)容開始或結(jié)束。這兩個方法的返回值都為boolean類型。
startsWith()方法
該方法用于判斷當(dāng)前字符串對象的前綴是否是參數(shù)指定的字符串。
語法:
str.startsWith(Stringprefix)
prefix:作為前綴的字符。
endsWith()方法
該方法用于判斷當(dāng)前字符串是否是以給定的子字符串結(jié)束。
語法:
str.endsWith(Stringsuffix)
suffix:作為后綴的字符串。
例在項(xiàng)目中創(chuàng)建類StartOrEnd,在主方法中創(chuàng)建String型變量,并判斷變量的前導(dǎo)和后置字符串。
public classStartOrEnd { // 創(chuàng)建類
publicstatic voidmain(String args[]) { // 主方法
String num1 = "22045612"; // 定義字符串num1
String num2 = "21304578"; // 定義字符串num2
booleanb = num1.startsWith("22"); // 判斷字符串num1是否以’22’開頭
booleanb2 = num1.endsWith("78"); // 判斷字符串num1是否以’78’開頭
booleanb3 = num2.startsWith("22"); // 判斷字符串num2是否以’22’開頭
booleanb4 = num2.endsWith("78"); // 判斷字符串num2是否與’78’開頭
// 輸出信息
System.out.println("字符串num1是以'22'開始的嗎?" + b);
System.out.println("字符串num1是以'78'結(jié)束的嗎?" + b2);
System.out.println("字符串num2是以'22'開始的嗎?" + b3);
System.out.println("字符串num2是以'78'結(jié)束的嗎?" + b4);
}
}
運(yùn)行的結(jié)果如圖1所示。
圖1 運(yùn)行結(jié)果
2、判斷字符串是否相等
字符串作為對象如對其進(jìn)行比較不能簡單的使用比較運(yùn)算符“==”,因?yàn)楸容^運(yùn)算符比較的是兩個字符串的地址是否相同。即使兩個字符串的內(nèi)容相同,但兩個對象的內(nèi)存地址是不同的。使用比較運(yùn)算符仍然會返回false。
例 使用比較運(yùn)算符比較兩個字符串,實(shí)例代碼如下:
String tom = new String("Iam a student");
String jerry = new String("Iam a student");
boolean b = (tom == jerry);
此時布爾型變量b的值為false,因?yàn)樽址菍ο?#xff0c;tom、jerry是引用,內(nèi)存示意圖如圖1所示。
圖1 內(nèi)存示意圖
因此要比較兩個字符串內(nèi)容是否相等,應(yīng)使用equals()方法和equalsIgnoreCase()方法。
equals()方法
如果兩個字符串具有相同的字符和長度,則使用equals()方法進(jìn)行比較時,則返回true。
語法:
str.equals(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
equalsIgnoreCase()方法
使用equals()方法對字符串進(jìn)行比較時,是區(qū)分大小寫的。而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個字符串是否相等。返回結(jié)果仍為boolean類型。
語法:
str.equalsIgnoreCase(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
通過下面的例子可以看出equals()方法和equalsIgnoreCase()方法的區(qū)別。
例 在項(xiàng)目中創(chuàng)建類Opinion,在主方法中創(chuàng)建String型變量,實(shí)現(xiàn)判斷兩個字符串是否相等,并將結(jié)果輸出。
publicstatic voidmain(String args[]) { //主方法
String s1 = new String("abc"); //創(chuàng)建字符串對象s1
String s2 = new String("ABC"); //創(chuàng)建字符串對象s2
String s3 = new String("abc"); //創(chuàng)建字符串對象s3
booleanb = s1.equals(s2); //使用equals()方法比較s1與s2
booleanb2 = s1.equalsIgnoreCase(s3); //使用equalsIgnoreCase()方法比較s1與s2
System.out.println(s1+ " equals " + s2 + " :" + b); //輸出信息
System.out.println(s1+ " equalsIgnoreCase " + s2 + " :" + b2);
}
}
運(yùn)行結(jié)果如圖2所示。
?圖2 運(yùn)行結(jié)果
3、按字典順序比較兩個字符串
compareTo()方法為按字典順序比較兩個字符串,該比較基于字符串中各個字符的Unicode值。按字典順序?qū)⒋薙tring對象表示的字符序列與參數(shù)字符串所表示的字符序列進(jìn)行比較。如果按字典順序此String對象位于參數(shù)字符串之前,則比較結(jié)果為一個負(fù)整數(shù);如果按字典順序此String對象位于參數(shù)字符串之后,則比較結(jié)果為一個正整數(shù);如果這兩個字符串相等,則結(jié)果為0。
語法:
str.compareTo(Stringotherstr)
str、otherstr:參加比較的兩個字符串對象。
說明:compareTo()方法只有在equals(Object)方法返回true時才返回0。
在項(xiàng)目中創(chuàng)建類Wordbook,在主方法中創(chuàng)建String變量,使用compareTo()方法將字符變量進(jìn)行比較。并將比較結(jié)果輸出。
public classWordbook { //創(chuàng)建類
publicstatic voidmain(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比較的結(jié)果輸出
System.out.println(str+ " compareTo " + str3 + ":"
+ str.compareTo(str3)); //將str與str3比較的結(jié)果輸出
}
}
運(yùn)行結(jié)果如圖1所示:
?圖1 運(yùn)行結(jié)果
今天就寫這么多,后邊繼續(xù)寫吧,字符串這邊比較重要,內(nèi)容就寫詳細(xì)點(diǎn)吧!
總結(jié)
以上是生活随笔為你收集整理的bigdecimal比较是否相等_java基础教程之字符串的介绍,比较重要的一个知识点【四】...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tomcat线程循环异常终止_腾讯面试官
- 下一篇: python 立体图像_OpenCV-P