Day12总结

StringBuffer

一、概述

1、意义:

(1)、线程安全的可变字符序列(可变的字符串)
(2)、一个类似于 String 的字符串缓冲区
(3)、某些方法调用可以改变该序列的长度和内容append()、insert()添加

2、构造:

无参的构造 : 默认会给16个字符大小的缓冲区
capacity() 是获取缓冲区容量的大写
StringBuffer(int capacity) 会默认给一个容量的大小值

二、常规的一些方法

1、追加方法:

(1)、append() 向末尾追加数据
(2)、insert(int offset, char c) 向指定位置追加数据
(3)、offset(): 第一参数传递是追加的索引 char 追加的字符

2、删除方法:

(1)、deleteCharAt(int index) 根据索引进行删除
(2)、delete(int start, int end) 根据区间进行删除
(3)、start:开始区间end:结束区间,索引从0 开始,包头不包尾

3、获取方法:

(1)、charAt(int index)根据索引获取字符
(2)、indexOf(String str) 查找是否存在这个字符,存在返回当前的索引,不存在返-1
(3)、length() 获取字符串的长度
(4)、replace(int start, int end, String str)替换 根据区间来进行替换
(5)、reverse()控制翻转
(6)、toString()转换成String

三、StringBuffer与String的相互转换

1、String转换成一个StringBuffer:

(1)、通过构造方法new StringBuffer(“abc”);
(2)、通过调用其append new StringBuffer().append(“abc”)’;

包装类

一、概述

1、意义:

基本数据类型有八种,都是非常简单的数据类型,不包含一些操作数据的额方法,没有办法存储描述这些数据的内容。需要准备一个引用数据类型,将基本数据类型进行包装,提供一些操作基本类型的方法

2、基本数据类型包装类:

byte Byte

short Short

int Integer

float Float

double Double

char Character

boolean Boolean

二、Integer类型

1、意义:

类在对象中包装了一个基本类型int的值。Integer 类型的对象包含一个int类型的字段

2、构造方法:

public Integer(int value)
public Integer(String s)构造传递的参数是 String类型,但是必须是数字,否则会出现这个异常 : java.lang.NumberFormatException

3、常规的方法:

public byte byteValue()返回值是一个byte,相互转换的时候不要超过最大的范围
public static int parseInt(String s) 静态方法:把String转换成int类型的方法(最常用)
public static String toBinaryString(int i)把int类型转换成二进制  
public static String toOctalString(int i)把int类型转换成八进制  
public static String toHexString(int i)int类转换为16进制
public static Integer valueOf(int i)把int类型转换成包装类 

二、Integer类型与int类型相互转换

1、Integer转换成int类型

intValue()

2、int转换成Integer类型

构造方法Integer(int i)

3、Integer到String的转换

toString方法即可

4、String到Integer类型

构造方法Integer(String str)

Integer.valueOf

5、int转换成String类型

Integer.toString(int i)

接拼一个空串+""

6、String转换成int类型

Integer.parseInt(String str)

三、自动装箱和拆箱

自动装箱:

可以直接使用基本类型的数据,给引用类型的变量赋值

自动拆箱:

可以直接使用包类对象,给基本类型的变量赋值;包装类对象直接进行算数运算

正则表达式

一、概述

1、意义:

就是一个字符串,校验规则的字符串,主要是做验证,把复杂的问题简单化

2、语法:

matches(String regex) 检验这个正则与该字符串是否匹配

二、字符类

[abc] a、b 或 c(简单类) 
[^abc] 任何字符,除了 a、b 或 c(否定) 
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) 
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) 
[a-z&&[def]] d、e 或 f(交集) 
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) 
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

三、预定义字符类

. 任何字符(与行结束符可能匹配也可能不匹配) 
\d 数字:[0-9] 
\D 非数字: [^0-9] 
\s 空白字符:[ \t\n\x0B\f\r] 
\S 非空白字符:[^\s] 
\w 单词字符:[a-zA-Z_0-9] 
\W 非单词字符:[^\w] 

四、数量词

X? X,一次或一次也没有 
X* X,零次或多次 
X+ X,一次或多次 
X{n} X,恰好 n 次 
X{n,} X,至少 n 次 
X{n,m} X,至少 n 次,但是不超过 m 次 
上一篇:day12


下一篇:day12 数据结构+算法