JAVA---字符串

 ctrl+N  搜索界面(idea)

API和API帮助文档

API

应用程序编程接口(换句话说,就是别人已经写好了,我们不需要再编写,直接使用即可)

Java API :就是JDK中提供的各种功能的JAVA类

我们已经学习过的API:

Scanner  键盘录入

Random  随机数

API 帮助文档

帮助开发人员更好的使用API和查询API的工具

API 帮助文档则是对 API 进行详细说明的文档,主要用于帮助开发者了解和使用 API

如何使用API帮助文档 ?

a. 打开API帮助文档

b. 点击显示,并找到索引下面的输入

c. 在输入框中输入类名并点击显示

d. 查看类所在的包

e. 查看类的描述

f. 查看构造方法

g. 查看成员方法

字符串

"abc" + true = "abctrue"

"123"

"chilling heart"

String 概述

java.lang.String 类代表字符串,Java 程序中的所有自妇产文字(如“abc”)都为此类的对象

String name = "chilling heart";

 注意:字符串的内容是不会发生改变的,它的对象在创建后不能被修改

创建String对象的两种方式

1. 直接赋值

String name = "chilling heart";

2.new 关键字  构造方法

String s1 = new String();

String s2 = new String ("chilling heart");
//当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在
//不存在:创建新的
//存在:复用
//优点:简单同时节约空间

byte[] bytes ={97,98,99,100};
String s4 = new String(bytes);

char[] chars = {'a','b','c'};
String s3 = new String(chars);

JAVA 常用第方法(比较)

常见的:

但是我们想想以下情况:

恒等号(==)在基本数据类型比较中比较的是真实的数据值

                      在引用数据类型比较中比较的时地址值

字符串的比较

1. boolean equals 方法(要比较的字符串)    完全一样结果是true,否则为false

2. boolean equalsIgnoreCase(要比较的字符串)  忽略大小写比较

boolean result = s1.equals(s2);

String substring(int beginIndex,int endIndex)   //截取

注意:包头不包尾,包左不包右


String substring(int beginIndex)   //截取到末尾

 

可以吧StringBulider看成一个容器,创建之后里面的内容是可变的。

作用:提高字符串的操作效率

构造方法:

常用方法:

 

StringJoiner(JDK8)

如同StringBuilder,也可以看成一个容器,创建之后里面的内容是可变的;

作用:提高字符串的操作效率,而且使代码简洁(市场上少有人用)

构造方法:

StringJoiner sj = new StringJoiner(“---”);  // 1---2---3

StringJoiner sj = new StringJoiner(“,”,“[”,“]”); [1,2,3]

成员方法:

字符串原理

1.字符串存储的内存原理

a. 直接赋值会复用字符串常量池中的

b. new出来不会复用,而是开辟一个新空间 

2.==号比较的到底是什么?

a. 在基本数据类型比较中比较的是真实的数据值

b. 在引用数据类型比较中比较的时地址值

3.字符串拼接的底层原理

如果很多字符串变量拼接,不要直接+。在底层会创建多个对象,浪费时间、性能。

a. 如果没有变量参与,都是字符串直接相加,编译之后是拼接后的结果,会复用串池中的字符串;

b. 如果有变量参与,每一行拼接的代码,都会在内存中创建新的字符串,浪费内存。

4.StringBuilder提高效率原理图

a. 所有要拼接的内容都会往StringBuilder中放,不会创造很多无用的空间,节约内存

 

5.StringBuilder源码分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值