String类
String类有两种初始化方法
- 使用字符串常量直接初始化一个String对象(此方法常用)
String str1 = "abd";
- 使用String的构造方法初始化字符串对象
package api;
public class Example01 {
public static void main(String[] args) {
String str1 = new String(); // 创建一个内容为空的字符串
String str2 = new String("ads"); // 根据指定的字符串创建对象
char[] charArray = new char[] {'D','f','a'};
String str3 = new String(charArray); // 根据指定的字符数组创建对象
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
ads
Dfa
String常见的操作
字符串的基本操作
方法声明 | 功能描述 |
---|---|
int indexOf(int ch) | 返回指定字符在此字符串第一次出现的索引 |
int lastIndexOf(int ch) | 返回指定字符在此字符串最后一次出现的索引 |
char charAt(int index) | 返回字符串index位置上的字符 |
int length() | 返回此字符串的长度 |
package api;
public class Example02 {
public static void main(String[] args) {
String s = "abcdefghijkmnopqristxyvz";
System.out.println(s.length());
System.out.println("字符串中的第一个字符"+s.charAt(3));
System.out.println("字符c第一次出现的位置"+s.indexOf('c'));
System.out.println("字符c最后一次出现的位置"+s.lastIndexOf('c'));
}
}
24
字符串中的第一个字符d
字符c第一次出现的位置2
字符c最后一次出现的位置2
注意:
- length是属于数组的属性,是针对数组
- length()是String的方法,是针对字符串
字符串的转换操作
方法声明 | 功能·描述 |
---|---|
String valueOf(int i) | 返回int参数的字符串表示形式也可以将字符转换成字符串 |
char[] toCharArray() | 将字符串转换成一个字符数组 |
String toUpperCase() | 将String中的所有字符转换成大写 |
package api;
public class Example03 {
public static void main(String[] args) {
String s = "abcdefghijk";
System.out.println("将字符串转换成字符数组的结果:");
char[] charArray = s.toCharArray();
for(int i=1;i < charArray.length;i++) {
if(i != charArray.length - 1) {
System.out.println(charArray[i]+",");
}else {
System.out.println(charArray[i]);
}
}
System.out.println("将int值转换成String类型之后的结果:"+String.valueOf(12));
System.out.println("将字符串转换成大写之后的结果:"+s.toUpperCase());
}
}
将字符串转换成字符数组的结果:
b,
c,
d,
e,
f,
g,
h,
i,
j,
k
将int值转换成String类型之后的结果:12
将字符串转换成大写之后的结果:ABCDEFGHIJK
字符串的替换和去除空格操作
方法声明 | 功能描述 |
---|---|
String replace() | 返回一个新的字符串 |
String trim() | 返回一个新的字符串,它将去除原字符串首尾的空格 |
String[] split(String regex) | 根据regex将原字符串分割成若干个字串 |
package api;
public class Example04 {
public static void main(String[] args) {
String s = "itchart";
System.out.println("将it替换成cn.it的结果:"+s.replace("it", "cn.it"));
// 字符串去除空格操作
String s1 = " i t . c h a r t ";
System.out.println("去除字符串两端的空格:"+s1.trim());
System.out.println("去除字符串中所有空格后的结果:"+s1.replace(" ",""));
}
}
将it替换成cn.it的结果:cn.itchart
去除字符串两端的空格:i t . c h a r t
去除字符串中所有空格后的结果:it.chart
字符串的截取和分割
package api;
import java.util.*;
public class Example06 {
public static void main(String[] args) {
String s1 = "篮球-乒乓球-足球-羽毛球";
System.out.println("从第五个字符截取到结尾:"+s1.substring(4));
System.out.println("截取五到七的字符:"+s1.substring(4,6));
System.out.println("分割后的数组");
String[] StrArray = s1.split("-");
// 输出数组的元素
System.out.println("数组为:"+Arrays.toString(StrArray));
for(int i=0;i<StrArray.length;i++) {
if(i != StrArray.length-1) {
System.out.print(StrArray[i]+",");
}else {
System.out.print(StrArray[i]);
}
}
}
}
从第五个字符截取到结尾:乓球-足球-羽毛球
截取五到七的字符:乓球
分割后的数组
数组为:[篮球, 乒乓球, 足球, 羽毛球]
篮球,乒乓球,足球,羽毛球
StringBuffer类
StringBuffer类和String类最大的区别是它的长度和内容可以改变。StringBuffer类似一个字符容器,当在其中添加新的元素时,并不会产生新的对象。