字串符笔记
本章单词:
quual:相等的
ignore:忽视
lower:低的
last:最后
trim:忽略不计
concatenate:链接
buffer:缓冲区
final:最终的
&预习一下代码输出结果是什么:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
一、字符串概述
&字符串是一系列字符组成的序列
(1)如何使用字符串:
简单来说,使用字符串主要分为两步
1.定义并初始化字符串
2.使用字符串,对字符串进行一些处理
语法:
String s="hello";
创建String对象的另外两种方法如下列代码所示:
//创建一个空字符串
String s=new String();
或者
//创建一个字符串对象“hello world”;
String s=new String("hello world");
二、字符串的长度
如何计算字符串的长度呢?
String 类提供了length()方法。字符串是一串字符序列,String类的length()方法用来确定字符串的长度,即字符串中的字符数目。
调用length()方法返回的结果就是字符串中的字符数
调用length()方法的语法如下
语法:
字符串a.length();
//返回字符串a的长度
示例:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
三、字符串的比较
语法:
字符串1.equals(字符串2);
//比较两个字符串的值是否相同,返回值Boolean类型的值,如果相同,则返回true,否则false
示例:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
疑点解答:
可能大家会问,为什么不使用双等于== 来判断两个字符串是否相同呢?
在Java中双等号 == 和 equals()方法虽然都应用于两个字符串,但所判断的内容是有差别的。
简单的讲==判断的是两个字符串对象再内存中的首地址是否相等,及判断是否是同一个字符串对象,
而equals()判断的是两个字符串对象的值是否相等。
示例:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
四、equals()比较的方法
&在我们使用equals()方法比较两个字符串时,对于字符的大小写,也在检查范围内,但有时候我们会碰到忽略大小写的验证,如Java和JAVA
都是指Java这门课程,使用equals()方法比较会认为他们不是一门课,因此,需要另一种方法--equalsIgnoreCase()方法。Ignore是
忽略的意思,这种写法在比较字符串会忽略字符的大小写,语法如下:
语法:
字符串1.equalsIgnoreCase(字符串2);
示例如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
&在Java中,String类提供了两个方法改变字符串字符的大小写,
1.toLowerCase():转换字符串中的英文字母为小写。
2.toUpperCase():转换字符串中的英文字母为大写。
语法:
字符串.toLowerCase();
//返回字符串的小写形式
字符串.toUpperCase()
//返回字符串的大写形式
示例代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
五、复杂的字符串处理
&请记住,在使用“+”运算符链接字符串和int(或double)类型数据时“+”将int(或double)类型数据自动转换成String类型
&除此之外,在Java中,String类也提供了另一种方法concat(),将一个字符串连接到另一个字符串的后面,
语法如下:
字符串1.concat(字符串2);
示例代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
六、字符串的提取和查询
详细介绍请阅读以下代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
5、trim()方法
&该方法可以忽略字符串前后的空格,因此,在接收用户输入的字符串时,一般会调用trim()方法过滤掉字符串前后的多余空格。
七、字符串的拆分
语法:
字符串1.split(String separator,int limit);
其中:(1)separator可选项,标识拆分字符串时使用一个或多个字符,如果不选择该项,则返回包含该字符串所有单个字符的元素数组。
(2)limit可选项,该值用来限制返回数组中的元素个数。
示例代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
·StringBuffer类
&如何使用StringBuffer类
StringBuffer 类位于Java.lang 包中,是String 类的增强类。使用StringBuffer 类也需要两步完成。
1.声明StringBuffer 对象并初始化
//声明一个空的StringBuffer 对象
StringBuffer sb=new StringBuffer();
//声明一个字符串 “青春无悔”;
StringBuffer sb2=new StringBuffer("青春无悔");
2.使用StringBuffer 对象
StringBuffer类提供了很多方法以供使用,调用时使用 “.” 操作符完成。
3.将StringBuffer 类型的字符串1 转换为 String 类型的对象并返回。
字符串1 .toSting();
String ss=sb2.toString();
4.将字符串2 连接到 字符串1 后并返回。
字符串1.append(字符串2);
该方法和String 类的 concat()方法一样,都是把一个字符串追加到另一个字符串后面,所不同的是Sting中只能将
String 类型的字符串追加到一个字符串后,而StringBuffer 可以任何类型的值追加到字符串之后。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
·将参数插入字符串
语法:
字符串1.insert (位置,参数);
&将参数插入字符串1 的指定位置(int 类型)后并返回。参数可以包括String 的任何类型。
分析:利用StringBuffer 类的 length()方法,获取数字字符串的长度,使用for 循环从后向前每隔三位插入一个逗号。