黑马程序员--Java基础--字符串常用操作(二)

来源:互联网 发布:网络剧招商方案 编辑:程序博客网 时间:2024/06/05 19:55

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

7.判断字符串的开始与结尾。通过String类中的startsWith()和endsWith()方法来实现。
startsWith()用于判断字符串是否以指定的内容开始。
endsWith()用于判断字符串是否以指定的内容结束。这两个方法的返回值都为boolean类型。

    String str = "Hello Java";    boolean b = str.startsWith("Hello");//判断str字符串是否以"Hello"开头的。b的值为true。    boolean b1 = str.endsWith("va");//判断str字符串是否以"va"结尾的。b1的值为true。

8.判断字符串是否相等。
通过String类中的equals()和equalsIgnoreCase()方法来完成, 返回类型都为boolean型。如果两个字符串具有相同的字符和长度,返回为true,否则false,值得注意的是equalsIgnoreCase()方法在比较时是不区分字符串的大小写的,而equals()方法是严格区分大小写的。
(1).equals()方法。

    String tom = "Hello Java";    String jerry = "Hello Java";    boolean b = tom.equals(jerry);//b的值为true。//如果用比较运算符比较tom和jerry,那么结果是否相等呢?    boolean b1 = (tom == jerry);//b1的值为true。//这是为什么呢?因为字符串是对象,tom和jerry是引用,那么两个不同的引用怎么可能相等呢。

(2).equalsIgnoreCase()方法。

    String str1 = "ABC";    String str2 = "abc";    boolean b = str1.equalsIgnoreCase(str2);//b的值为true。//这说明equalsIgnoreCase()方法不区分大小写的。如果用equals()方法进行比较则结果为false。

9.按字典顺序比较两个字符串。
通过String类中的compareTo()方法来完成。此方法比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参与字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数(不固定);如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数(不固定);如果两个字符串相等,则结果为0。深究可以发现,其实compareTo()方法在底层调用的还是equals()方法,而且只有当equals()方法返回为true时,compareTo()方法返回值才为0。

    String str1 = "a";    String str2 = "b";    String str3 = "a";    System.out.println(str1 +"compareTo"+ str2 +":"+str1.compareTo(str2));//打印结果为-1;    System.out.println(str2 +"compareTo"+ str1 +":"+str2.compareTo(str1));//打印结果为1;    System.out.println(str1 +"compareTo"+ str3 +":"+str1.compareTo(str3));//打印结果为0;

10.字母的大小写转换。
通过String类中的toLowerCase()和toUpperCase()方法来完成。toLowerCase()将字符串中的所有大写字母转换成小写字母,而toUpperCase()方法则是将小写字母转换成大写字母。

    String str = "abcABC";    String newstr1 = str.toLowerCase();    String newstr2 = str.toUpperCase();    System.out.println(newstr1);//打印结果为 abcabc 。    System.out.println(newstr2);//打印结果为 ABCABC 。

11.字符串分割。
通过String类中的split()方法来完成,而split()方法提供了两种重载形式,返回类型均为String数组。split(String sign)和split(string sign,int limit)。
(1).split(String sign) 该方法可根据给定的分割符对字符串进行拆分,当然也可以使用正则表达式。

    String str = "abc,def,ghi,jkl";    String[] strarr = str.split(",");//将 , 作为分割符对str进行分割。    //对返回的String数组进行遍历,既是循环取出。    for(String newstr:strarr){        System.out.println(newstr);//将取得分割后的字符进行打印输出。    }    //打印结果为:    abc    def    ghi    jkl

(2).split(String sign,int limit)该方法可根据给定的分割符对字符串进行拆分,并限定拆分次数,当然也可以使用正则表达式。

String str = "abc,def,ghi,jkl";String[] strarr = str.split(",",2);//将分割后的字符数组进行遍历。for(String newstr:strarr){System.out.println(newstr);//将分割后的字符串进行打印输出。}

打印结果为:
abc
def

总结:这些对String字符串操作的方法都是必须掌握的,只有勤加练习,多敲代码才能熟记于心。

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

0 0