String细化了解(上)

 日升时奋斗,日落时自省

目录

一、String类

1.使用方法

1.1字符串构造

2.String对象的比较

2.1比较引用对象

2.2涉及到比较的常用方法

3.字符串查找

4.转化

4.1数值和字符串转化

4.2大小写转换

4.3字符串转数组

 4.4格式化

5.字符串的替换

6.拆分字符

7.字符串截取


一、String类

java语言有针对字符串的类,String,字符串对于我们来说太常见不过了,字符串系列函数完成大部分操作,String了解就比较有必要了

1.使用方法

1.1字符串构造

 这里提供了三种 字符串构造,有了字符串构造,我们最常想起的就是字符串的长度计算

 

public class Test {
    public static void main(String[] args) {
        //常量字符串构造   我们最常见的构造方式  也最简洁
        String s1="struggle";
        System.out.println(s1);
        //new String对象构造也是可以的 字符串形式放入
        String s2=new String("struggle");
        System.out.println(s2);
        //字符数组构造 将数组放入new String中就可以
        char[] arr={'s','t','r','u','g','g','l','e'};
        String s3=new String(arr);
        System.out.println(s1);


        System.out.println(s1.length());   //对象.length()
        System.out.println(s2.length());
        System.out.println(s3.length());
    }
}

 String是引用类型,内部并不存在字符串本身   是通过堆中创建的对象储存的 

如下:

 

 以上述代码为使用例:(下图解释)

 这里是通过在堆上创建一个对象,string与string2图上给的比较清晰,这里string给string3传字符串时,就将string3指向了当时string存放字符串创建的对象,就构成了赋值

2.String对象的比较

2.1比较引用对象

首先是“==”这个等号比较的是储存的值是否相同

 前面基本类型定义的是相等的

后面对于引用类型变量

(1)==比较两个引用变量引用的是否为同一个对象,s3与s4都创建了一个对象,创建对象的地址是不相同的,所以比较两者值的时候也是不相同的

(2)而这里为什么s6与s3是相同的呢,因为在前面提及过,这个两个对象指向的是同一个创建对象,有着相同的地址,所以比较相同

2.2涉及到比较的常用方法

(1)boolean equals(Object anObject)方法:按照字典比较

 同样就用刚刚写到上创建的对象s3与s4用equals方法比较就是true,是比较字符串是否相同,不能比较两者的大小

(2)int compareTo(String s)方法

该方法可以对比大小

用代码 的一个使用例:

 这里是对比对象的字符串的大小 ,对象1.compareTo(对象2)===对象1-对象2的值就是以上得出来的数字

3.字符串查找

 这个可以尝试练习一下,尝试不同的字符串

4.转化

4.1数值和字符串转化

首先我们先写一个学生类,为下面的解释 

 

上面都有注释,我详细解释一下打印对象

 为什么会这样呢,主要是在println打印的时候需要调用toString方法,但是方法并不是我们想要的结果,我们可以在类中重写这个方法,为我们所用

4.2大小写转换

 这里我就在多叙述了,直接调用方法即可

4.3字符串转数组

 4.4格式化

 format解释:使用指定的语言环境、格式字符串和参数返回一个格式化字符串。与我们学过C语言当中的printf相似,可以自己控制

5.字符串的替换

字符串替换我们要提及有这几个方法

(1)replace可以替换一个字符也可以替换一个字符串,它有两个重载形式,替换的是所有

(2)replaceFirst替换的仅仅是第一个字符或者字符串

(3)replaceAll将一个字符或者字符串替换在整个字符串中

使用例:(代码解释)

通过当前对比,更好理解

6.拆分字符

拆分字符的两个方法

(1)String[] split(String regex)    全部拆分

(2)String[] split(String regex,int limit)  限定limit拆分个数    

 

 这里我们可以用一个符号拆分,也可以用多个,就需要一个这样“|”符号,这里限制了拆分的个数2个

运行结果:

 

如果这里看不习惯的还可以一步一步拆分

接下来看

 首先是以“&”这个符号拆分后的在for循环中再次拆分以“=”拆分

运行结果:

 这里提及一个小细节问题,有些符号比较特殊 例如:

 如果是当前的双斜杠,怎么写在方法split中呢,需要另外一个斜杠来修饰\\表示的是一个斜杠所以这里的两个斜杠就需要\\\\四个斜杠来表示当前的两个斜杠

 这个也与上面相同,符号点是特殊符号,只能用单斜杠修饰,但是单斜杠不能直接写也需要修饰,所以用双斜杠表示单斜杠,来修饰符号点

7.字符串截取

字符串截取的方法

(1)String substring (int beginIndex)     指定某个坐标的位置截取到结尾

(2)String substring(int beginIndex ,int endIndex)  指定某个区间  左开右闭[ , )

运行结果:

 运行结果就是最好的证明了,当前就是以左闭右开来解释,没有取到4,当前只有三个字符

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值