一、字符串

1. API

定义

API:应用程序编程接口
java API:指的就是JDK中提供的各种功能的 java类

帮助查看文档

若在java . util下,要打包(在java. lang下,不用打包)
看成员方法,重点看返回值,方法名、参数,方法作用描述信息

通过对象调用方法
快捷键:ctrl+alt+v
如:sc . nextLine ( ) ; 按ctrl+alt+v,自动生成String line = sc . nextLine ( ) ;
image.png

2. String

java. lang下,不用打包。
java程序中所有的双引号字符串,都是String类的对象
特点:

  1. String代表字符串,它的值创建后不能被更改(字符串不可变)
  2. 虽然String的值是不可变的,但是它们可以被共享
  3. 字符串效果上相当于字符数组(char[ ] ),但是底层原理是字节数组(byte[]) ( JDK8及以前是字符数组,JDK9及以后是字节数组)

String的构造方法

image.png
image.png
推荐使用直接赋值的方式得到字符串对象。

String对象的特点

image.png
image.png
image.png
结束:main方法从栈内存中消失

字符串的比较

使用 == 做比较
基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同

字符串比较:
image.png
equals比较的是内容
如:
image.png

案例

遍历字符串

image.pngimage.png

统计字符次数

image.png

拼接字符串

image.png
image.png
可以使字符串输出更加美观

字符串反转

image.pngimage.png
定义的方法也在mian方法中

3. StringBuilder

StringBuilder

image.png
即,如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间,而这种操作还不可避免。所有可以通过java提供的StringBuilder类来解决这个问题

StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器(这里的可变指的是StringBuilder对象中的内容是可变的)

String 和 StringBuilder 的区别:
String : 内容是不可变的
StringBuilder : 内容是可变的

StringBuilder 的构造方法

public StringBuilder ( ) :创建一个空白可变字符串对象,不含有任何内容
public StringBuilder (String str ):根据字符串的内容,来创建可变字符串对象
image.png

StringBuilder 的添加和反转方法

image.png
public StringBuilder append (任意类型):添加数据,并返回对象本身
是对象,就可以继续调方法。
如:(链式编程)
sb . append (“hello”) . append(“world”) . append(“java”) . append (100) ;
image.png

StringBuilder 和String 相互转换

1. StringBuilder换装为String

public String toString():通过toString()可以实现把StringBuilder转换为String

2. String转换为StringBuilder

public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder
image.png

字符串拼接(改进)

image.png
image.png
采用StringBuilder和append的方法拼接,这样可以节省空间,并且效率会提高很多

字符串反转

new StringBuilder(s)是对象,就可以调方法
如下第2张图:将4行代码简化成一行代码
image.pngimage.png