第五章-数组和字符串-字符串

字符串(P106,综合应用)

处理字符串的类:string和StringBuffer

字符串常量(见课本73页)

双引号括起来的字符序列。示例:“student”、“你好” 或“123.456”

字符串声明和创建(见课本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)

功能:测试此字符串是否以指定的后缀结束

(4)比较两个字符串是否相同

方法:public boolean equals(Object obj)

功能:比较两个引用变量是否引用同一个对象,例如x.equals(y),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。

方法:public boolean equalsIgnoreCase(String anotherString)

功能:将此String与另一个 String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。

方法:public int compareTo(String str)

功能:按字典顺序比较两个字符串的大小。该比较基于字符串中各个字符的Unicode值。如果此 String 对象小于参数字符串,则返回一个负整数。如果此 String 对象大于参数字符串,则返回一个正整数。如果这两个字符串相等,则返回 0。

方法:public int compareToIgnoreCase(String str)

功能:按字典顺序比较两个字符串,不考虑大小写。

(5)字符串检索(选)

Java中字符串中子串的查找共有四种方法,第一个字符为0开始数:

1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。(选) 

2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。 

3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。

4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。如startIndex=3,那么就是从第4个开始查。

注意:

[if !supportLists]l [endif]indexOf()方法对大小写敏感!

[if !supportLists]l [endif]如果要检索的字符串值没有出现,则该方法返回-1。

public class Test {  

    public static void main(String[] args) {  

        String s = "xXccxxxXX";  

//从头开始查找是否存在指定的字符         //结果如下   

        System.out.println(s.indexOf("c"));     //2  

//从第四个字符位置开始往后继续查找,包含当前位置  

        System.out.println(s.indexOf("c", 3));  //3  

//若指定字符串中没有该字符则系统返回-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替换此字符串中出现的所有 oldChar 得到的。

(8)去掉前后空格得到一个新字符串

方法:public String trim()

功能:返回字符串的副本,去掉前后空白。

(9)基本类型值的字符串表示

String的类方法valueOf( )用于把某种基本类型的值转换成一个String对象。

(10)字符串得到基本类型对象

每种基本类(包装类,除Character)都有类方法能将字符串转换成基本类的对象,形如:

         public static Type valueOf(String s)

其中,Type代表任何基本类,包括Boolean、Integer、Double等。

(11)字符串得到基本类型值

每种基本类(包装类,除Character)都有类方法能从字符串中解析出基本类型的值,形如:

         public static type parseType(String s)

其中,type代表任何基本数据类型,包括boolean、int、double等,Type代表相应的包装类。

[if !supportLists](12)[endif]改变为大小写

 toUpperCase( )从小写变为大写:java->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);//结果:你好,张三!

你可能感兴趣的:(第五章-数组和字符串-字符串)