30 if (flag == true)
31 System.out.print(\所输入字符串是回文字符串\32
else
33 System.out.print(\所输入字符串不是回文字符串\34 35 }
}
? 字符串的查询和提取
String类中提供了很多对字符串进行查询和提取的方法,常用的有下列几种: (1)char charAt(int index)
该方法功能为返回当前字符串中指定索引处的字符,这个方法的返回值为char。 例如:String s=\
char c=s.charAt(1); //c的值为’e’ (2)int indexOf(int ch)
该方法功能为返回指定字符在当前字符串中第一次出现处的索引,如果指定字符没有出现在当前字符串中,则返回-1。 例如:String s=\int a=s.indexOf('o'); //a的值为4 int b=s.indexOf('g'); //b的值为-1
(3)int indexOf(String str)
该方法功能为返回指定子字符串在当前字符串中第一次出现处的索引,如果指定子字符串不在当前字符串中,则返回-1。 例如:String s=\int a=s.indexOf(\ //a的值为2 (4)int indexOf(String str, int fromIndex)
该方法功能为从指定的索引处开始,返回指定子字符串在当前字符串中第一次出现处的索引,参数fromIndex指定查询的起始位臵。
例如:String s=\
int a=s.indexOf(\ //a的值为7
(5)int length()
该方法功能为返回字符串的长度。
例如:String s=\
int a=s.length(); //a的值为11
(6)substring(int beginIndex)
该方法功能为返回一个新的字符串,它是当前字符串的一个子串,新字符串从参数beginIndex指定的位臵处开始,到当前字符串末尾结束。
例如:String s=\
String a=s.substring (6); //a的值为\
(7)substring(int beginIndex, int endIndex)
该方法功能为返回一个新字符串,它是当前字符串的一个子串,新字符串从参数 beginIndex指定的位臵开始, 到 endIndex-1处结束。
例如:String s=\
String a=s.substring (2,4); //a的值为\
6.字符串的比较
String类中提供如下方法对两个字符串进行比较 (1)boolean equals(Object anObject)
该方法将当前字符串与指定的anObject表示的字符串进行比较,并返回一个boolean类型的值。如果两者相同,返回值为true,否则返回值为false。
例如:String s1=\
String s2=\
boolean a=s1.equals (s2); //a的值为false
(2)boolean equalsIgnoreCase(String anotherString)
该方法将当前字符串与参数字符串进行比较,其用法与equals(Object anObject)方法基本相同,但是比较时不考虑大小写。
例如:String s1=\
String s2=\
boolean a=s1. equalsIgnoreCase (s2); //a的值为true
(3)int compareTo(String anotherString)
该方法按字典顺序比较两个字符串,并返回两者之间的差值。若当前字符串比参数字符串大,则返回正值;若比参数字符串小,则返回负值;若两者相等,则返回0。实际上,该方法的返回值为两个字符串从左向右依次比较每个字符时,第一对不同字符的unicode码的差值。
例如:String s1=\
String s2=\
int a=s1.compareTo (s2); //a的值为-3
但是要在使用中注意下例所示的情况。
String s1=\
String s2=\
int a=s1.compareTo (s2); //a的值为3,也就是两字符串长度之差
字符串的追加(字符串处理StringBuffer类)
1 /**字符串的追加**/ 2 import java.util.*; 3 public class StringAppend { 4 5 6 7 8 9
public static void main(String[] args) { StringBuffer varString = new StringBuffer(); String str1, str2;
System.out.println(\请输入字符串的初始内容:\Scanner in = new Scanner(System.in); str1 = in.next();
10 varString.append(str1);
11 System.out.println(\请输入要追加的内容:\12 str2 = in.next(); 13 varString.append(str2);
14 System.out.println(\字符串最终的内容为:\15 }
? 16 }
StringBuffer类也可以用来创建字符串对象,它与String类不同的是该类用于存放一个可变的字符串,当对字符串对象进行修改时,不会象String类一样创建新的字符串对象,而是直接修改原字符串。使用StringBuffer类创建的字符串对象,其实体的内存空间可以随着字符串的改变而自动改变大小。 ? StringBuffer对象的创建 (1)StringBuffer()
该方法创建一个空的StringBuffer类对象,系统为其分配的字符串缓冲区初始容量为16 个字符。 (2)StringBuffer(int size)
该方法创建一个StringBuffer类对象,系统为其分配的字符串缓冲区容量为size个字符。
(3)StringBuffer(String value)
该方法创建一个StringBuffer类对象,并将其内容初始化为指定字符串value的内容,系统为其分配的字符串缓冲区容量为指定字符串的长度再加上16个字符。
? StringBuffer类的常用方法 (1)append方法
append方法的功能就是将指定字符串追加到StringBuffer对象的后面,append提供了很多种重载的方法,下面只列出常用的几种:
StringBuffer append(boolean b) StringBuffer append(char c) StringBuffer append(int i) StringBuffer append(float f) StringBuffer append(string str)