#String的基本用法
##如何判断String类相等
###运用==,直接判断是否相等
string a, b; a = "hello"; b = "world"; if( a==b ) printf("a==b"); else printf("a!=b\n");
###使用JAVA的String类操作字符串和子串
public class Du02 {
public static void main(String[] args) {
String str = "I am a student,I am at ccit";
System.out.println(str.length());
System.out.println(str.charAt(0)); System.out.println(str.charAt(str.length()-1));
int firstIndex = str.indexOf(" ");
System.out.println("First word: " + str.substring(0, firstIndex));
int lastIndex = str.lastIndexOf(" ");
System.out.println("Last word: " + str.substring(lastIndex));
System.out.println(str.replace('c', 'C'));
String[] ary = str.replace(",", " ").split("\s+");
for(int i =0; i < ary.length; i++){
if(!ary[i].trim().equals("")){
System.out.println(ary[i].trim());
}
}
System.out.println("String contains ma? " + str.concat("
ma "));
System.out.println("String starts with 'i', ends with 'i'? " + str.matches("I(.)*I"));
}
}
此JAVA程序: (1)声明一个String对象,其内容为“I am a student,I am at ccit”; (2)输出字符串的长度; (3)输出字符串的第一个和最后一个字符; (4)输出字符串的第一个和最后一个单词; (5)将其中的‘c’替换为‘C’输出; (6)输出其中的各个单词; (7)判断字符串中是否包含“ma”这个单词; (8)判断字符串是否以“I”开头,以“I”结尾。
###String中字符串的连接有以下几种方法
####第一种方法
public class StringAddTest {
public static void main(String args[]) {
int num = 100000;
testAdd(num);
testConcat(num);
testStringBuffer(num);
testStringBuilder(num);
}
public static void testAdd(int num){
long start = System.currentTimeMillis();
String str = "";
for(int i = 0; i < num; i++){ str += i;
}
System.out.println("字符串拼接使用 + 耗时:" + (System.currentTimeMillis() - start) + "ms");
}
####第二种方法
public class StringAddTest {
public static void main(String args[]) {
int num = 100000;
testAdd(num);
testConcat(num);
testStringBuffer(num);
testStringBuilder(num);
}
public static void testAdd(int num){
long start = System.currentTimeMillis();
String str = "";
for(int i = 0; i < num; i++){ str += i;
}
System.out.println("字符串拼接使用 + 耗时:" + (System.currentTimeMillis() - start) + "ms");
}
####第三种方法
public class StringAddTest {
public static void main(String args[]) {
int num = 100000;
testAdd(num);
testConcat(num);
testStringBuffer(num);
testStringBuilder(num);
}
public static void testStringBuffer(int num){
long start = System.currentTimeMillis();
StringBuffer stringBuffer = new StringBuffer();
for(int i = 0; i < num; i++){
stringBuffer.append(String.valueOf(i));
}
stringBuffer.toString();
System.out.println("字符串拼接使用 StringBuffer 耗时:" + (System.currentTimeMillis() - start) + "ms");
}
####第四种方法
public class StringAddTest {
public static void main(String args[]) {
int num = 100000;
testAdd(num);
testConcat(num);
testStringBuffer(num);
testStringBuilder(num);
}
public static void testStringBuilder(int num){
long start = System.currentTimeMillis();
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0; i < num; i++){ stringBuilder.append(String.valueOf(i));
}
stringBuilder.toString();
System.out.println("字符串拼接使用 StringBuilder 耗时:" + (System.currentTimeMillis() - start) + "ms");
}