字符串的构造
字符串的构造有以下三种方式
字符串的方法
1.长度 length
红色的是求字符串的长度 length()是方法
蓝色的是求数组的长度 length是属性
2.比较 equals 和 compareTo
正常来比较可能就是这样
分析:明明赋值都是happy,为什么返回的结果是false呢,因为str1和str2都是引用,里面放的都是地址,地址都不一样当然不相等
这不是正确的比较方法,正确的比较方法应该是用 equals 来比较
equals
equals的作用:用来比较 引用 所指向的 对象 里面的 内容
结果如下
compareTo
compareTo的作用:是比较大小
结果为-2
-3
0
compareToIgnoreCase和equalsToIgnoreCase
他 们 的 作 用 是 忽 略 大 小 写
结果是:true 和 0,因为他们忽略大写写后就是一模一样的
3.查找字符串
(1)char charAt 作用:返 回 该 字 符 的 下 标
结果是 p (2下表对应的字符是p)
(2)int indexOf 作用:返 回 字 符 第 一 次 出 现 的 位 置
后 面 还 可 以 加 数 字,表 示 从 第 几 个 下 标 开 始 往 后 找,这 个字 符 串 也 适 用
当 没 有 找 到 这 个 字 符 的 时 候 就 会 返 回 -1
分析:第一行就是,返回p第一次出现的下标,2
第二行,从0下标开始往后访问,返回第一次出现p的下标,2
第三行,返回ap第一次出现的下标,1
第四行,从1下标开始往后访问,返回第一次出现ap的下标,1
(3)int lastindexOf 作用:从 后 往 前 找,返 回 第 一 次 字 符 出 现 的 位 置
后 面 还 可 以 加 数 字,表 示 从 第 几 个 下 标 开 始 往 后 找,这 个 字 符 串 也 适 用
当 没 有 找 到 这 个 字 符 的 时 候 就 会 返 回 -1
分析:第一行,从后往前找,第一次出现的p,对应的下标为9
第二行,从下标7往前找,第一次出现p,对应的是下标5
第三行,从后往前找字符串c,第一次出现c,对应的下标是8
第四行,从下标为6的字符往前找字符串ab,第一次出现ab对应的下标为0
4.替换字符串
replaceAll 和 replaceFirst
repalce (char a, char b) 作用:将字符a替换成字符b
replaceAll(String a,String b)作用:将字符串a全部替换字符串b
replaceFirst(String a, String b)作用:将a第一次出现的时候,替换成b
结果如下
注 意 我们可以发现每次替换都是重新开辟一个空间,在这个空间里进行修改,从而产生一个新的字符串
5.分割字符串
split
分析:把字符串以空格的形式分割开,一行一个字符串
同时split里面还可以加以限制,限制分割几组
分析:这里将str1分成了三组 第一组为hello 第二组为sun 第三组为and cloud
注意,有一些特殊字符分割的时候要加 \\
一个斜杠是不行的,如果是一个斜杠的话就把后面的字符给转义了
如果碰到 "\" 的话,记住一个斜杠分割的时候要弄两个斜杠来分割,依此类推,两个斜杠的时候要弄4个斜杠来分割
如果字符里有多个分割符,就用"|" 作为连字符
分析:通过 "|" 的效果将字符串最终依次分开
我们也应该要学会看多次拆分的这种
分析:第一个循环把hello和sun=and=cloud分开了,第二个循环把sun和and和cloud分开了
6.截取字符串
substring(int s) 从 s 下标开始往后截取
substring(int s, int e) 从 s 下标开始,截取到e下标 注意:[s,e)是左闭右开的
第一行,截取的是下标5以后的字符,everday
第二行,截取下标0到6的字符左闭右开,happye
7.字符串转化
valuof的作用:将别的类型的数据转化成字符串
结果为1234(字符串类型的)
可以用包装类的类类型来将字符串转化成数字
结果为1234.0
8.大小写转化
toUpperCase 和 toLowerCase
toUpperCase作用:将字符串变成大写形式
toLowerCase作用:将字符串变成小写形式
结果: FINE boy
9.字符串转数组
toCharArray作用:将字符串转成数组
将字符串转变成数组,也可以将数组转变成字符串
10.格式化
format
结果为 2023-1-19