String
创建方式:2种 直接使用字符串常量 调用String类构造函数
实例方法:
与序号相关 可以通过序号获取相应字符 也可以通过字符获取序号
字符串对象不可变 但是通过转换可以生成新的对象
逻辑判断
subString 两个参数的形式 包含开头 不包含结尾
split 切割机 切割结果不包含切割符号
通过偏移访问字符串 当大于等于字符串长度时 发生运行时异常 程序中断
StringBuffer
特点:长度 内容 可以变化
实例方法:
添加 尾部追加 中间插入
删除:单个删除 区间删除
转换:单个替换 区间替换
相同点:一串有序的字符
不同点:
长度内容不可变 可变
重写equals方法 没重写
可以使用+ 不能
package test;
public class test1 {
public static void main(String[] args) {
//无参构建
String str1 = new String();
//有参构建
String str2 = new String("abcd");
char[] chars = new char[]{'d', 'e', 'f'};
//字符数组的构建
String str3 = new String(chars);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
package test;
public class test2 {
//创建方式:2种 直接使用字符串常量 调用String类构造函数
// 实例方法:
// 与序号相关 可以通过序号获取相应字符 也可以通过字符获取序号
// 字符串对象不可变 但是通过转换可以生成新的对象
// 逻辑判断
// subString 两个参数的形式 包含开头 不包含结尾
// split 切割机 切割结果不包含切割符号
// 通过偏移访问字符串 当大于等于字符串长度时 发生运行时异常 程序中断
public static void main(String[] args) {
basic();
alter();
logic();
}
public static void basic() {
String str = "Life is a chain of moments of enjoyment, not only about survival";
System.out.println("字符串的长度:" + str.length());
System.out.println("第一个字符为:" + str.charAt(1));
System.out.println("字符c第一次出现的位置为:" + str.indexOf("c"));
System.out.println("字符c最后一次出现的位置为:" + str.lastIndexOf('c'));
System.out.println("字符串enjoy第一次出现的位置为:" + str.indexOf("enjoy"));
System.out.println("字符串enjoy最后一次出现的位置是:" + str.lastIndexOf("we"));
}
public static void alter() {
String str = "To the world you may be one person, but to one person you may be the world";
System.out.println("字符串转换成字符数组后的结果:");
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i] + ",");
}
System.out.println("字符串转换为大写的结果:" + str.toUpperCase());
System.out.println("将but用however代替:" + str.replace("but", "however"));
System.out.println("将the前后空隔去除:" + str.trim());
}
public static void logic() {
String str1 = "String";
String str2 = "Str";
System.out.println("判断字符串的开头是否为Str:" + str1.startsWith("Str"));
System.out.println("判断字符串的结尾是否为ng:" + str1.endsWith("ng"));
System.out.println("判断字符串是否包含in:" + str1.contains("in"));
System.out.println("判断字符串是否为空:" + str1.isEmpty());
System.out.println("判断两个字符串是否相等:" + str1.equals(str2));//区别==与equals
}
}
package test;
public class test3 {
public static void main(String[] args) {
String str = "羽毛球-篮球-乒乓球";
System.out.println("从第五个字符截取到末尾的结果:" + str.substring(4));
System.out.println("从第五个到第六个字符的截取的结果:" + str.substring(4, 6));
//split2
String[] strs = str.split("-");
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i] + ",");
}
}
}
package test;
public class test4 {
// 特点:长度 内容 可以变化
// 实例方法:
// 添加 尾部追加 中间插入
// 删除:单个删除 区间删除
// 转换:单个替换 区间替换
public static void main(String[] args) {
add();
alter();
remove();
}
public static void add() {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("abc");
System.out.println("append添加结果为:" + stringBuffer);
stringBuffer.insert(2, "123");
System.out.println("insert添加结果为:" + stringBuffer);
}
public static void remove() {
StringBuffer stringBuffer = new StringBuffer("abcdefg");
System.out.println("删除范围1至5的结果:" + stringBuffer.delete(1, 5));
System.out.println("删除位置2的结果:" + stringBuffer.deleteCharAt(2));
System.out.println("清空结果:" + stringBuffer.delete(0, stringBuffer.length()));
}
public static void alter() {
StringBuffer stringBuffer = new StringBuffer("abcdef");
stringBuffer.setCharAt(1, 'p');
System.out.println("修改指定位置结果:" + stringBuffer);
stringBuffer.replace(1, 3, "q999q");
System.out.println("替换指定位置字符(串)结果:" + stringBuffer);
System.out.println("字符串反转结果为:" + stringBuffer.reverse());
}
}
package test;
public class test5 {
// 相同点:一串有序的字符
// 不同点:String StringBuffer
// 长度内容不可变 可变
// 重写equals方法 没重写
// 可以使用+ 不能
public static void main(String[] args) {
// equalsTo();
addTo();
}
public static void equalsTo() {
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1.equals(str2));
//
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
System.out.println(sb1.equals(sb2));
}
public static void addTo() {
String s1 = "a";
String s2 = "b";
String s3 = s1 + s2;
System.out.println(s3);
//
StringBuffer sb1 = new StringBuffer("a");
StringBuffer sb2 = new StringBuffer("b");
// StringBuffer sb3=sb1+sb2;
}
}