Java API总结

1.1字符串类

1.1.1 String类

使用String类进行操作之前,先对其进行初始化,可以通过以下两种方式:

1.

String str1=”abc”;

2.

方法声明

功能描述

String()

创建一个内容为空的字符串

String(String value)

根据指定的字符串内容创建对象

String(char[] value)

根据指定的字符数组创建对象

String(byte[]bytes)

根据指定的字节数组创建对象

1.1.2 String 类的常见操作

方法名

说明

public int length()

返回次字符串长度

public char charAt(int index)

获取某个索引位置的字符

public char[] toCharArray​()

将当前字符串转换成字符数组返回

public String substring(int beginIndex, int endIndex)

根据开始和结束索引进行截取,得到新的字符串(包前不包后)

public String substring(int beginIndex)

从传入的索引处截取,截取到末尾,得到新的字符串

public String replace(CharSequence target,  CharSequence replacement)

使用新值,将字符串中的旧值替换,得到新的字符串

public String[] split(String regex)

根据传入的规则切割字符串,得到字符串数组返回

1.1.3 StringBuilder类

1.什么是StringBuilder

StringBuilder是一个可变的字符串类,我们可以把它看成是一个对象容器。

作用:提高字符串的操作效率,如拼接、修改等。

2.String Builder构造器

构造器名称

说明

public StringBuilder()

创建一个空白的可变的字符串对象,不包含任何内容

public StringBuilder(String str)

创建一个指定字符串内容的可变字符串对象

3.String Builder常用方法

方法名称

说明

public StringBuilder append(任意类型)

添加数据并返回

public StringBuilder reverse()

将对象的内容反转

public int length()

返回对象内容长度

public String toString()

通过toString就可以实现把StringBuilder转换为String

1.1.4 String buffer类

1.什么是StringBuffer类

在Java中,StringBuffer是一个用于处理字符串的类,它允许我们对字符串进行动态操作,如拼接、插入、删除等。

2. StringBuffer(可变字符串)

特点:StringBuffer对象是可变的,可以在已有字符串的基础上进行动态操作,比如拼接、插入、删除等。

适用场景:当你需要频繁修改字符串内容时,使用StringBuffer会比直接使用String更为高效,比如在循环中拼接字符串、频繁的插入、删除操作等。

1.2 System类与Runtime类

1.2.1 System类

1.2.2 Runtime类

1.3 Math类与Random类

1.3.1 Math类

1.3.2 Random类

构造方法:

    public Random():没有种子,用的是默认种子,是当前时间的毫秒值

    public Random(long seed):给出指定种子。给定种子后,每次得到的随机数相同的。

成员方法:

    public int nextInt():返回的是int范围内的随机数

public int nextInt(int n):返回的是[0,n)范围内的随机数

1.4 日期时间类

1.4.1 Instant类

1.时间线上的某个时刻

2.通过获取Instant的对象可以拿到此刻的时间,该时间由两部分组成:从1970-01-01 00:00:00开始走到此刻的总秒数 + 不够1秒的纳秒数

1.4.2 LocalDate类

LocalDate:代表本地日期(年、月、日、星期)

1.4.3 LocalTime类与LocalDateTime类

LocalTime:代表本地时间(时、分、秒、纳秒)

LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)

1.4.4 Period和Duration类

1.Period:计算日期间隔(年、月、日)

支持LocalDate类的对象

2.Duration:计算时间间隔(时、分、秒、纳秒)

支持LocalTime类、LocalDateTime类、Instant类的对象

1.5 包装类

1.基本数据类型,开辟在栈区

2.引用数据类型,开辟在堆区

3.包装类有属性有方法,但是基本类型没有

4.包装类对应着八大基本类型

(1)基本类型:byte short int long float double char boolean

(2)包装类:Byte Short Integer Long Float Double Character Boolean

5.相互转换

(1)将String转换为基本数据类型

包装类.parseXXX(String类型数据);

如:将String转换为int类型

String str = "123";

Integer.parseInt(str);

如:将String转换为double类型

String str = "123.1";

Double.parseDouble(str);

(2)将基本数据类型转化为String类型

方法一:使用拼接 其他类型 + ""

int num = 123;

String str = num + "";

方法二:使用String.valueOf()

int num = 123;

String str = String.valueOf(num);

(3)将基本类型转换为包装类

使用 包装类.valueOf()

int num = 123;

Integer integer = Integer.valueOf(num);

(4)将包装类转换为基本数据类型

使用包装类对象.xxxValue()

Integer i = new Integer("123");

int num = i.intValue();

(5)将String转换为包装类

使用包装类.valueOf();

String str = "123";

Integer i = Integer.valueOf(str);

(6)将包装类转化为String类型

使用包装类对象.toString()

Integer i = new Integer("123");

String str = i.toString();

6.获取int类型的最大值和最小值

(1)最大值:Integer.MAX_VALUE

(2)最小值:Integer.MIN_VALUE

7.Character包装类里面有一堆is开头的方法,专门用来判断字符的性质

1.6 正则表达式

1.6.1 元字符

\d: 匹配任何数字,等价于 [0-9]。

例如,正则表达式 \d 可以匹配 "1"、"7"、"0" 等数字字符。

\D: 匹配任何非数字字符,等价于 [^0-9]。

例如,正则表达式 \D 可以匹配 "a"、"#"、" " 等非数字字符。

\w: 匹配任何字母、数字或下划线字符,等价于 [a-zA-Z0-9_]。

例如,正则表达式 \w 可以匹配 "a"、"1"、"_" 等字母、数字或下划线。

\W: 匹配任何非字母、数字或下划线字符,等价于 [^a-zA-Z0-9_]。

例如,正则表达式 \W 可以匹配 "@"、" "、"#" 等非字母、数字或下划线字符。

\s: 匹配任何空白字符(包括空格、制表符、换行符等)。

例如,正则表达式 \s 可以匹配 " "、\t、\n 等空白字符。

\S: 匹配任何非空白字符。

例如,正则表达式 \S 可以匹配 "a"、"1"、"#" 等非空白字符

1.6.2 Pattern类和Matcher类

1.6.2.1Pattern类

1.用于创建一个正则表达式,也可以说创建一个匹配模式,它的构造方法是私有的,不可以直接创建,但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式, 

Java代码示例: 

Pattern p=Pattern.compile("\\w+");

p.pattern();//返回 \w+

2.pattern() 返回正则表达式的字符串形式,其实就是返回Pattern.complile(String regex)的regex参数

3.Pattern有一个split(CharSequence input)方法,用于分隔字符串,并返回一个String[],我猜String.split(String regex)就是通过Pattern.split(CharSequence input)来实现的. 
Java代码示例: 

Pattern p=Pattern.compile("\\d+");

String[] str=p.split("我的QQ是:456456我的电话是:0532214我的邮箱是:aaa@aaa.com");

结果:str[0]="我的QQ是:" str[1]="我的电话是:" str[2]="我的邮箱是:aaa@aaa.com" 
4.Pattern.matcher(String regex,CharSequence input)是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.

1.6.2.2.2 Matcher类

1.Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例. 
Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 
Java代码示例: 

Pattern p=Pattern.compile("\\d+");

Matcher m=p.matcher("22bb23");

m.pattern();//返回p 也就是返回该Matcher对象是由哪个Pattern对象的创建的

2.Matcher.matches()/ Matcher.lookingAt()/ Matcher.find()

Matcher类提供三个匹配操作方法,三个方法均返回boolean类型,当匹配到时返回true,没匹配到则返回false 
matches()对整个字符串进行匹配,只有整个字符串都匹配了才返回true 
Java代码示例: 

Pattern p=Pattern.compile("\\d+");

Matcher m=p.matcher("22bb23");

m.matches();//返回false,因为bb不能被\d+匹配,导致整个字符串匹配未成功.

Matcher m2=p.matcher("2223");

m2.matches();//返回true,因为\d+匹配到了整个字符串

1.6.3 String类对正则表达式的支持

String的API中有几个方法支持正则表达式:
 matches()   匹配正则表达式
 slipt()          根据正则表达式拆分字符串
 replaceAll() 将满足正则表达式的部分已给定字符串替换缓冲字符串StringBuffer和StringBuilder

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值