1、字符串是常量,他们可以显示任何文字信息,字符串的值在创建后不能更改。
2、Java通过java.lang.String这个类来创建可以保存字符串的变量,所以字符串是一个对象。
3、创建字符串的三种方法
//1)引用字符串常量
String a ="时间就是金钱,我的朋友";
String str1,str2;
str1="we are student";
str2="we are teacher";
//2)利用构造方法实例化
String b = new String("我爱清汤小火锅");
String c = new String("D");
//3)利用字符数组实例化
char[] charArray = {'t','i','m','e'};
String d =new String(charArray);
//4)提取字符串中的一部分创建字符串对象
char[] charArray1 = {'时','间','就','是','生','名'};
String e = new String(charArray1,3,2);
//从该字符串组索引3的位置开始,提取两个元素,创建一个字符串
4、提取字符串信息的几个常用方法
连接字符串(两种方法)
“+”运算符
a.concat(str) a:原字符串 str:原字符串末尾拼接的字符串
获取字符串长度
str.length(); str:原字符串
获取指定位置的字符
str.charAt(index); str:任意字符串 index:char的索引值
获取子字符串索引位置(如果没有检索到要查找的字符或字符串,则返回-1)
a.indexOf(substr); a:任意字符串 substr:要搜索的字符或字符串
判断字符串首位内容
-此方法用于判断字符串是否以指定的前缀开始:
str.startsWith(prefix); str:任意字符串 prefix:作为前缀的字符串
-此方法用于判断字符串是否以指定的后缀结束:
str.endsWith(suffix); str:任意字符串 suffix:作为后缀的字符串
获取字符数组(可以将字符串转换为一个字符数组)
str.tocharArray(); str:任意字符串
判断子字符串是否存在
str.contains(String); str:任意字符串 string:查询的子字符串
5、字符串的操作
截取字符串
//截取从beginIndex到结束的字符串
str.substring(beginIndex); str:任意字符串 beginIndex:起始索引(数字)

srt.substring(beginIndex,endIndex); str:任意字符串 beginIndex:起始索引(int类型)
endIndex:结束索引(int类型;不包括本身)
字符串替换
str.replace(oldstr,newstr); str:任意字符串 oldstr:要被替换的字符序列
newstr:替换后的字符序列
字符串分割
str.split(regex); str:任意字符串 regex:分隔符表达式
大小写转换
str.toLoweCase(); 将该字符串中的所有字符转换为小写
str.toUpperCase(); 将该字符串中的所有字符转换为大写
去除空白内容
str.trim();
比较字符串是否相等(比较的字符串不为null,且内容相同时,结果为ture)
a.equals(str); a:任意字符串 str:进行比较的字符串
6、可变字符串StringBuffer类
1)StringBuffer类是线程安全的可变字符序列,一个类似于String类的字符串缓冲区,两者本质是一样的,但是StringBuffer类的执行效率要比String类快很多。{String类是不可修改的,String Buffer类是可以修改的}
2)创建新的StringBuffer对象必须用关键字new,不能直接引用字符串常量
3)append()方法 [可将参数转换成字符串,然后追加到此序列中]
sbf.append(obj); sbf:任意StringBuffer对象 obj:任意数据类型的对象
4)setCharAt(int index,char ch)方法 [将给定索引处的字符修改为ch]
sbf.setCharAt(index,ch);sbf:任意StringBuffer对象 index:被替换字符的索引 ch:被替换的索引
5)insert(int offset,String str)方法 [将字符串str插入到指定的索引值offset位置上]
sbf.insert(offset,str); sbf:任意StringBuffer对象 offset:插入的索引 str:插入的字符串
6)delete(int start,int end)方法 [可移除此序列的子字符串中的字符]
sbf.delete(start,end); sbf:任意StringBuffer对象 start:起始索引(包括) end:(不包括)