字符串(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);//结果:你好,张三!