“不要为小事遮住视线,我们还有更大的世界”

1.前言

本文小编为大家带来String语法的深度学习,跟进小编的脚步哦!

2.正文

1. 认识String

  • 1.1 什么是String?

    String是Java里特殊的数据类型,是一个类,主要用于字符串方面的工作

  • 1.2 String是一个怎样的类?

在这里插入图片描述
如图是一个非常简单的代码,可以直接打印出name的值,可我们深度剖析String这个类里会有什么方法呢


在这里插入图片描述
按住Ctrl点String我们可以看到String内部的方法,String内有一个构造方法!!
主要看这里的value,value存的是String类型各个字符组成的数组,字符又用了数字表示


  • 1.3定义字符串的形式
public class Text {
   public static void main(String[] args) {
       String name="haha";
       String name2=new String("haha");
       char[] value={'a','b'};
       String name3=new String(value)
   }
}

使用如上三种方式定义,第一种方式对比第二种方式实现了方法的节俭。


在这里插入图片描述
String内部的构造方法可以传入char类型的数组所以可以第三种方式定义


2. String类型的比较

  • 2.1普通的比较(返回值为boolean类型)

在这里插入图片描述
这张图很好理解 s3这个引用指向s3引用指向的对象,所以输出true


在这里插入图片描述
这里s1==s2输出false,是因为它们的引用指向的对象不同,可以理解为所存 地址不同,这里我们也可以采用equals()方法,比较的是值!!不是地址了!!,比较返回值也是一样的


  • 2.2采用Comparable接口比较(比较字符串的大小,返回值是int)

在这里插入图片描述 这里的比较方法是从左到右对应字符不一样的时候再进行比较只比较一次就出结果了,这里b字符对应的ASCII的值比f小4,返回-4,
这里的comepareTo方法小编会单独出一期讲解。


在这里插入图片描述 对应字符无法比较则看哪个字符串长,返回值为0是一样长


  • 2.3 忽略字符串大小写比较

在这里插入图片描述
使用compareToIgnoreCase()方法可以忽略字母大小写的比较,return 0。


3. 字符串的访问

  • 3.1charAt()方法 : 查找字符输出字符,遍历字符串

在这里插入图片描述
通过charAt()方法可以访问不同位置的字符,此时字符串可以当成数组来看,注意访问不能越界。


在这里插入图片描述
我们主要用charAt()方法来遍历字符串,其中length()是一个方法,与数组中提到的array.length有区别


  • 3.2 int indexOf( )相关方法 : 查找字符串输出字符或字符串位置

在这里插入图片描述
这个方法可以找到对应字符的下标,返回值是整型。


在这里插入图片描述
int indexOf(int ch,int fromlndex)方法 用于规定从什么位置开始找字符与int indexOf(int ch)构成了方法的重载。


在这里插入图片描述
这个方法同样可以找字符串从左到右起第一个出现的字符串记录开头字母位置


在这里插入图片描述
同样可以规定位置找字符串


在这里插入图片描述
lastIndexOf()用于从右往左,从后往前找对应字符的位置。


在这里插入图片描述
从3下标从后往前找对应字符。


在这里插入图片描述
同样找字符串也要倒着数。


4. 字符串转化

  • 4.1 valueOf()方法 : 转字符串

在这里插入图片描述
可以看到valueOf()内可以传不同的参数


在这里插入图片描述
这里均以字符串的形式进行了输出


在这里插入图片描述
我们可以明显看出来确实变成了字符串


在这里插入图片描述
此时也是以字符串的形式调用了Student的toString方法,这样也叫做对象的序列化(把对象变成字符串)


  • 4.2 parseInt()方法 : 转基本数据类型

在这里插入图片描述
把字符串类型转换为基本数据类型的方法


  • 4.3 toUpperCase()方法 toLowerCase()方法: 转大小写

在这里插入图片描述
用这个方法就可以把小写转大写。


在这里插入图片描述
反之大写转小写。


这里强调一点只要涉及到String类型的转变,都不是在原有字符串上进行操作,会产生一个新的对象!


  • 4.4 toCharArray() : 字符串转数组

在这里插入图片描述
将hello这个字符串转为了一个个字符拼凑的数组来输出(数组转字符串开头写了,就是调用String的构造方法),而数组转字符串直接调用String的构造方法即可。


  • 4.5 format()方法 : 以格式化形式输出

在这里插入图片描述

这是一个格式化的输出,可以%f %… 都可以


5. 字符串替换

  • 5.1 replace()方法 :字符串的替换方法

在这里插入图片描述
我们可以用这个方法将某个字符转换成另一字符


在这里插入图片描述
我们在介绍这个replaceAll()方法,这里它们的区别在于replaceAll()方法主要用于转字符串,把一个字符串整体转为新的字符串,而replace()是把字符全部转换成另一字符。


在这里插入图片描述
replaceFirst()方法是把第一个字符变成全新的字符


6. 字符串拆分与截取

  • 6.1 split()方法: 用于拆分字符串

在这里插入图片描述
这里用split()方法分割了“空格”,注意!split()方法接收要用数组! 最后遍历字符串输出,此时s2是一个字符串数组,数组有长度不用调用String 的length()方法。


  • 6.2 使用split()方法的注意事项

1. 字符“|”,“*”,“+”都得加上转义字符,前面加上 “\\” .
2. 而如果是 " \" ,那么就得写成 “\\” .
3. 如果一个字符串中有多个分隔符,可以用"|"作为连字符.
4. split()方法还可以用于固定的位置分割

在这里插入图片描述


  • 6.3 substring()方法: 字符串的截取方法

在这里插入图片描述第一个是分割位置后取后面的元素,第二个是分割取前面的元素。


3.结语

以上是今天小编为大家带来的String小特殊,小编下一期会出String小特殊的最特殊特性!!尽请期待,希望读者们多提建议,小编会改正,共同进步!谢谢大家。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐