文章目录
1. String 类
在编程中会大量的使用String类。如,在学生类中定义3个属性分别为学生学号,姓名。院系:
public class Student {
private String sno, sname, sdept;
}
1.1 字符串比较
- 比较从3个方面:
1. 一个是串的内存应用是否相等。
2. 另一个是值是否相等。
3. 最后是串值ASCII码的大小。
- 字符串值忽略大小写比较:
public static void main(String[] args) {
String s1 = "Java";
String s2 = new String("JAVA");
/*
* 1. eequalsIgnoreCase()
*
* 2. 忽略大小写,比较第二点
*/
if(s1.equalsIgnoreCase(s2)) {
System.out.println("s1与s2值相等");
} else {
System.out.println("s1与s2值不相等");
}
}
s1与s2值相等
- 字符串大小比较:
/**
* 比较串值ASCII码
*/
public static void practice2() {
String s1 = new String("aaa");
String s2 = "bbb";
/*
* 1. compareTo()
*
* 2. 比较字符串的ASCII码
*
* 3. 输出两个字母的ASCII码差值
*
* 4. 从首字母到尾字母一一比教,直到能比出大小
*/
int x = s1.compareTo(s2);
if (x > 0) {
System.out.println("s1>s2");
} else if (x < 0) {
System.out.println("s1<s2");
} else {
System.out.println("s1=s2");
}
}
s1<s2
1.2 分割字符串函数 split()
- 对 s1以“,”号分割,返回一个数组
String s1 = "aa,bb,cc,dd,ee fff";
String s[] = s1.split(",");
- 对 s1以“,”或“ ”(空格)分割
String s1 = "aa,bb,cc,dd,ee fff";
String s[] = s1.split(",| ");
- 以 点,逗号, 空格,分割
/**
* 分割字符串函数 split()
*/
public static void practice3() {
String s1 = "aa.bb.cc,dd,ee fff";
String s[] = s1.split("\\.|,| ");
for(String x : s) {
System.out.println(x);
}
}
aa
bb
cc
dd
ee
fff
1.3 查找 indexOf()
/**
* indexOf()
*/
public static void practice4() {
String s1 = "Hello Java , I love Java";
int x = s1.indexOf("Java");
System.out.println(x);
}
6
1.4 判断字符串是否包含
/**
* 判断字符串是否包含
*/
public static void practice5() {
String s = "I love java";
String s1 = "I";
String s2 = "love";
String s3 = "java";
System.out.println("love是否在字符串里面:" + s.contains(s2));
System.out.println("I是否是字符串前缀:" + s.contains(s1));
System.out.println("you是否是字符串后缀:" + s.contains(s3));
}
love是否在字符串里面:true
I是否是字符串前缀:true
you是否是字符串后缀:true
2. StringBuffer类
与String最大的区别在与,StringBuffer本身串的内容是可变的。如果需要频繁的对字符串的内容修改,又不想改变串的内存引用地址,适合使用它。
2.1 StringBuffer类有3个构造方法
1. StringBuffer(), 默认容量为 16 个字符,不够自动增长。
2. StringBuffer(int size), 容量为 size 个字符,不够自动增长。
3. StringBuffer(String s), 容量为 s+16 个字符,不够自动增长。
2.2 容量,实际长度
1. 容量:最大能装
buf1.capacity(); // 获取 buf1的目前容量
2. 实际长度:实际能装
buf1.length(); // 获取buf1的实际字符个数
2.3 追加对象 append(Object)
buf1.append("I").append(" love").append(" java");
注意:
- buf1本身的内容在改变。
- 而String使用substring()函数时,String本身没有变。
2.4 插入子串 insert(int index, object)
buf1.insert(4, "java web");
2.5 删除字串 delete(int start, int end)
buf1.delete(4, 8);