Java基础(12)之字符串

目录

Java基础(12)之字符串_第1张图片

1. API

1.1 API概述

API文档的使用
Java基础(12)之字符串_第2张图片

2. String

String常用类

2.1 String概述

Java基础(12)之字符串_第3张图片

2.2 String构造方法

Java中的String构造方法
常见的几种
Java基础(12)之字符串_第4张图片
代码示例:
Java基础(12)之字符串_第5张图片
运行结果:
Java基础(12)之字符串_第6张图片

2.3 String对象的特点

Java基础(12)之字符串_第7张图片
Java基础(12)之字符串_第8张图片
String在内存中的过程:
main方法执行
Java基础(12)之字符串_第9张图片
Java基础(12)之字符串_第10张图片
String s1出现在栈内存中
Java基础(12)之字符串_第11张图片
在堆内存中new一片字符空间,将数组chs(001)赋值给s1(002),s1就指向chs。
Java基础(12)之字符串_第12张图片
和上面一样,先在栈内存中存放s2,后在堆内存中new一片空间(003),最后将chs(001)赋值给s2(003)
Java基础(12)之字符串_第13张图片
s1和s2比较是不相同的,因为两个对象的地址是不相同的,输出false
Java基础(12)之字符串_第14张图片
将String s3存放在栈内存中,值(“abc”)存放在堆内存中的常量池(004)中
Java基础(12)之字符串_第15张图片
String s4存放在栈内存中,因为它的值(“abc”)和s3的值是一模一样的,所以它的值也是常量池中的004(“abc”)
Java基础(12)之字符串_第16张图片
比较s3和s4,因为两个对象的地址是相同的,所以输出true
Java基础(12)之字符串_第17张图片
比较s1和s3,因为两个对象的地址是不相同的,所以输出false
Java基础(12)之字符串_第18张图片

2.4 字符串的比较

Java基础(12)之字符串_第19张图片
代码示例:
Java基础(12)之字符串_第20张图片
运行结果:
Java基础(12)之字符串_第21张图片

2.4.1 字符串的遍历

Java基础(12)之字符串_第22张图片
代码示例:
Java基础(12)之字符串_第23张图片
运行结果:
Java基础(12)之字符串_第24张图片

2.5 通过帮助文档查看String中的方法

Java基础(12)之字符串_第25张图片

3. StringBuilder

String,StringBuffer,StringBuilder

3.1 StringBuilder概述

先执行main方法,然后String s,常量池中添加"hello",s +=“wordl”;=s = s + “word”;常量池中没有word创建一个。
Java基础(12)之字符串_第26张图片
输出"helloword"
Java基础(12)之字符串_第27张图片
.但是
在这里插入图片描述
StringBuilder概述
Java基础(12)之字符串_第28张图片

3.2 StringBuilder的构造方法

Java基础(12)之字符串_第29张图片

3.3 StringBuilder的添加和反转

Java基础(12)之字符串_第30张图片
代码示例:
Java基础(12)之字符串_第31张图片
因为sb.append(“hello”)返回的是对象自己,所以这行代码也是StringBuilder sb2 = sb;但是这个sb对象是有值(hello)的。
所以他俩都是hello,比较也是相同的
Java基础(12)之字符串_第32张图片
因为append返回的是对象本身,所以我们完全可以不用对象接受。
Java基础(12)之字符串_第33张图片
运行结果:
在这里插入图片描述
我们还可以采用另一种方法叫做链式编程
因为append返回的是对象本身,所以我们还可以使用方法。
在这里插入图片描述
运行结果:
也是一样的。
在这里插入图片描述

3.4 StringBuilder和String相互转换

  • 为什么要相互转换?
    因为StringBuilder有两个比较好用的方法,一个是append和revers,而String想使用这个两个方法是直接使用不了的。
    所以我们要把StringBuilder转为String,使用完后我们还要将String转为StringBuilder。

Java基础(12)之字符串_第34张图片
代码示例,将StringBuilder转化为String:
Java基础(12)之字符串_第35张图片
运行结果:
在这里插入图片描述
代码示例,将String转化为StringBuilder:
Java基础(12)之字符串_第36张图片
运行结果:
在这里插入图片描述

3.5 通过帮助文档查看StringBuilder中的方法

Java基础(12)之字符串_第37张图片

4. StringBuffer

StringBuffer

5. String、StringBuffer和StringBuilder的区别

String、StringBuffer和StringBuilder的区别

你可能感兴趣的:(Java基础)