本章目标:
- 掌握 javaAPI 的使用方法
- 掌握String类中常用方法
- 掌握StringBuffer类中常用方法
使用String存储字符串
格式
一: String s=new String(“有志者事竟成”);
二: String s=”有志者事竟成”;
以上两者有什么区别:
-
格式一 :在内存中有两个对象
-
格式二 :在内存中只有一个对象
注意:字符串一旦被初始化就不会被改变
String
String类位于java.lang包中,具有丰富的方法
-
获取字符串长度
-
比较字符串
-
连接字符串
获取字符串长度
在java中给我们提供了一个”length()”方法,我们可以直接调用length()方法来进行字符串的计算
格式 “字符串名.length()”
String s=”有志者事竟成”;//定义字符串
int a= s.length();//计算字符串长度
System.out.println(a);//输出字符串长度
获取字符串第一种方法
- 获取字符串中指定位置的单个字符
- 在java中提供了一个”charAt(int index)”方法
String aa=“有志者事竟成”;
char a=aa.charAt(5);
System.out.println(a);
注意:当访问到字符串中不存在的下标是会发生StringIndexoutofBoundsException字符串下标输出越界异常
获取字符串第二种方法
-
获取字符在字符串中第一次出现的位置
-
在java中提供了一个”indexOf(int ch)”方法 String aa=“有志者事竟成”;
int a=aa.indexOf(‘竟’);
System.out.println(a);
注意:如果在字符串中没有指定的字符返回的下标值是-1
获取字符串第三种方法
-
从指定位置开始查询获取字符在字符串中第一次出现的位置
-
在java中提供了一个方法
” indexOf(int ch,int fromIndex) ” String aa=“有志者事竟成,成竟事者志有”;
int a=aa.indexOf(‘者’,4);
System.out.println(a);
获取字符串第四种方法
-
从结尾开始查找字符串中指定字符第一次出现的位置
-
在java中提供了一个方法
” lastIndexOf(int ch) ” String aa=“有志者事竟成,成竟事者志有”;
int a=aa.lastIndexOf(‘者’);
System.out.println(a);
获取字符串第五种方法
在java中给我们提供了一个”equals”方法,我们可以直接调用equals方法来进行字符串的计算
格式 : 字符串名1.equals(字符串名2)
在equals方法中主要比较字符串的长度与内容
equalsIgnoreCase();同为字符串比较
equalsIgnoreCase()与equals()方法有什么区别
不同点:
- equalsIgnoreCase()比较不区分大小写
- equals()比较区分大小写
相同点:
- 这两个方法返回结果都只有两个值true和false
字符串链接
方法一 “+”
方法二 使用String类的“concat()”
concat()的使用:
String s=”嗨喽你好:”;
String a=“张三”;
String sa=s.concat(a);
System.out.println(sa);
StringBuffer类
StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
初始化StringBuffer对象
格式:
StringBuffer sb=new StringBuffer(“字符串”);
他并不像String类那样可以直接创建对象,而是必须通过关键字 new 来实现
StringBuffer类常用方法
StringBuffer类中的方法主要偏重于对于字符串的变化操作,
例如
-
追加
-
插入
-
删除等,
这个也是StringBuffer和String类的主要区别。
StringBuffer追加方法
append()方法
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如:
StringBuffer a=new StringBuffer("abcde");
a.append("好好好");
//将字符串”好好好”追加到abcde后面
StringBuffer插入方法
insert()方法 //也称为添加
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。例如:
StringBuffer a=new StringBuffer("abcde");
a.append(3,"好好好");
注意:这个方法有两个参数
(参数1是插入的位置,参数2是插入的内容)
StringBuffer删除方法(一)
deleteCharAt()方法
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字。例如:
StringBuffer a=new StringBuffer("abcde");
a.deleteCharAt(3);
StringBuffer删除方法(二)
delete()方法
该方法是从指定位置开始删除到指定位置结束
StringBuffer a=new StringBuffer("abcde");
a.delete(1,3);
注意:
该方法有两个个参数:
(参数1为指定位置开始,参数2为指定位置结束)
StringBuffer反转方法
reverse()方法
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符。 例如:
StringBuffer a=new StringBuffer("abcde");
a.reverse();
StringBuffer替换方法
replace()方法 //也叫修改字符串
该方法为修改字符串中指定位置到指定位置中的字符串。例如:
StringBuffer a=new StringBuffer("abcde");
a.replace(2,4,”dddd”);
注意:
该方法有三个参数
(参数1位开始位置,参数2位结束位置, 参数3位需要修改的内容)