一, String类
1. 创建对象
String s = "Hello World";
String s = new String();
String s = new String("Hello World");
2. 常用方法
获取字符串的长度:length()
去掉字符串两边的空格:trim()
比较字符串:equals()(区分大小写)equalsIgnoreCase()(不区分大小写)
public static void main(String[] args) {
String str = " 我爱编程 ";
//获取字符串的长度
System.out.println("字符串的长度是: "+str.length());
//去掉字符串两边的空格
str = str.trim();
System.out.println("去掉空格后字符串的长度是: "+str.length());
//equals()和equalsIgnoreCase()方法比较字符串的区别
String s = "accp";
String s1 = "ACCP";
System.out.println(s.equals(s1));
System.out.println(s.equalsIgnoreCase(s1));
}
输出结果
连接字符串:concat()
提取字符串:substring()
搜索字符串:indexOf()(从前往后找)lastIndexOf()(从后往前找)
public static void main(String[] args) {
//连接字符串
String s = "我爱我的祖国";
String s1 = ":中国";
String str = s.concat(s1);
System.out.println(str);
//提取字符串
System.out.println(str.substring(2)); //提取"爱"后面的所有字符串
System.out.println(str.substring(1,2));//提取"爱"字
//搜索字符串
System.out.println("”我“ 下标是: "+str.indexOf("我"));//从前往后搜索"我"字
//从后往前搜索"我"字
System.out.println("”我“ 下标是: "+str.lastIndexOf("我"));
}
输出结果
拆分字符串:split()
连接字符串:join()
public static void main(String[] args) {
String str = "aaa bbb ccc ddd eee";
String [] arr = str.split(" ");
System.out.println("拆分后的结果是: ");
for (String s : arr) {
System.out.print(s);
}
String s = String.join(" ",arr);
System.out.println("\n连接后的结果是: "+s);
}
输出结果
返回字符串的小写形式:字符串.toLowerCase()
返回字符串大写形式:字符串.toUpperCase()
public static void main(String[] args) {
String str = "accpACCP";
//利用toLowerCase()方法把字符串转换成小写
str = str.toLowerCase();
System.out.println(str);
//利用toUpperCase()方法把字符串转换成大写
str = str.toUpperCase();
System.out.println(str);
}
二,StringBuffer类
1. 创建对象
StringBuffer sb = new StringBuffer();
StringBuffer sb = new StringBuffer("bdqn");
2. 常用方法
转成String类型:toString()(在输出StringBuffer类的字符串时,会默认调用此方法,所以在输出时可以不写)
连接字符串:append()
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//用于接收用户输入的一段字符
System.out.println("请输入一段字符: ");
String ziFu = input.next();
//接收用户要查询的字符串
System.out.println("请输入要查询的字符串: ");
String ziFu1 = input.next();
//创建StringBuffer类,用于把最后输出的结果全部存储进去
StringBuffer sb = new StringBuffer(ziFu1 +" 出现的位置是: ");
int index; //用于找出所要查询的字符串的下标
//依次循环提取字符中的字符
for (int i=0;i<ziFu.length();i++) {
//把从字符中提取出来的字符串存储到sub中
String sub = ziFu.substring(i,i+1);
//如果提取的字符串与要查询的字符串相同,则下标的位置所在i赋给index
if (sub.equals(ziFu1)) {
index = i;
sb.append(index); //连接字符所在的下标到StringBuffer中
sb.append(" "); //连接空格,形成输出效果
}
}
System.out.println(sb); //输出StringBuffer中的最终数据
}
输出结果
插入字符串:insert()
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入用户的身份证号码: ");
//创建StringBuffer类的对象并接收用户输入的数据
StringBuffer sb = new StringBuffer(input.next());
//使用StringBuffer类的insert()方法插入字符串
sb.insert(10,"年");
sb.insert(13,"月");
sb.insert(16,"日");
//使用String类的substring()方法对输入并插入的字符串进行提取
String birthday = sb.substring(6,17);
//输出插入并提取后的字符串
System.out.println("\n该用户生日是: "+birthday);
}
输出结果