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中放,不会创造很多无用的空间,节约内存