JavaSE基础(day14)(1)String类 (2)StringBuilder类和StringBuffer类 (3)日期相关的类 (4)集合类 (5)List接口

默写:
1.简答题
写出String类中常见的5个方法,要求写出方法名和功能即可。

2.编程题
分别使用两种方式将字符串"12345"转换为十进制整数并打印出来。

今天内容:
(1)String类
(2)StringBuilder类和StringBuffer类
(3)日期相关的类
(4)集合类
(5)List接口

1.String类(重中之重)
1.1 正则表达式(难点、记住)
(1)基本概念
正则表达式本质上就是一个用于进行格式验证的字符串,可以使用^开头,使用$结尾,但可以省略不写。

(2)常用的规则
[abc] - 表示可以出现a、b或者c。
[^abc] - 表示可以出现任何字符,除了a、b和c。
[a-zA-Z] - 表示可以出现a-zA-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可以出现一次或一次也没有,也就是0 ~ 1次。
X* - 表示X可以出现零次或多次,也就是0 ~ n次。
X+ - 表示X可以出现一次或多次,也就是1 ~ n次。
X{n} - 表示X可以出现恰好 n 次。
X{n,} - 表示X可以出现至少 n 次,也就是>=n次。
X{n,m} - 表示X可以出现至少 n 次,但是不超过 m 次,也就是>=n次 <=m次。

1.2 正则表达式有关的方法
boolean matches(String regex) - 用于判断当前字符串是否满足参数指定的规则。
String[] split(String regex) - 用于按照参数指定的规则来进行字符串的拆分。
String replaceAll(String regex, String replacement)
- 用于按照regex指定的规则来进行字符串的替换。

2.StringBuilder类和StringBuffer类(查手册会用即可)
2.1 基本概念
java.lang.String类是用于描述字符串字面值,但对象一旦创建则字符序列不可更改。
java.lang.StringBuilder类和StringBuffer类是用于描述可变字符序列的。
其中StringBuffer类是早期提供的类,支持线程安全,效率比较低。
其中StringBuilder类是后期增加的类,不支持线程安全,但效率高,推荐使用该类。

2.2 StringBuilder类
(1)基本概念
java.lang.StringBuilder类是用于描述可变字符序列的,可以直接更改字符串内容。

(2)常用的方法
StringBuilder(String str) - 根据参数指定的字符串来构造对象。
- 其中初始容量为 16 + 参数字符串的长度。
int capacity() - 用于获取调用对象的容量并返回。
int length() - 用于获取长度(字符的个数)并返回。

StringBuilder insert(int offset, String str)
- 用于将参数指定的str插入到当前字符串中offset的位置上。
StringBuilder append(String str)
- 用于将参数指定的str追加到当前字符串的末尾。

StringBuilder delete(int start, int end)
- 用于将当前字符串中从start位置(包含)开始到end位置(不包含)结尾内容删除
StringBuilder replace(int start, int end, String str)
- 用于将当前字符串中从start开始到end结尾之间的内容使用str替换。
StringBuilder reverse() - 用于反转字符序列。
该类没有重写equals()、hashCode()方法,但重写了toString()方法。

3.日期相关的类(查手册会用即可)
3.1 Date类
(1)基本概念
java.util.Date类用于描述日期信息,表示特定的瞬间可以精确到毫秒。

(2)常用的方法
Date() - 使用无参形式构造对象,默认使用当前系统时间来初始化。
Date(long date) - 根据参数指定的毫秒数来构造对象。
- 其中毫秒数为距离1970年1月1日0时0分0秒(Unix系统的生日)的间距。
- 与File类中的一个方法配合使用
long getTime() - 用于获取当前对象距离1970年…之间的毫秒数。
void setTime(long time) - 用于根据参数指定的毫秒数来调整时间。

3.2 SimpleDateFormat类
(1)基本概念
java.text.SimpleDateFormat类用于格式化和解析日期,通俗来说就是调整日期格式

(2)常用的方法
SimpleDateFormat(String pattern) - 根据参数指定的格式来构造对象。
- 其中参数指定格式有:y代表年,M代表月,d代表日,H代表时,m代表分,s代表秒
public final String format(Date date)
- 用于将参数指定的日期对象按照当前调用对象的格式转换为字符串。
public Date parse(String source)
- 用于将参数指定的字符串按照当前调用对象的格式转换为日期类型的对象。

3.3 Calendar类
(1)基本概念
java.util.Calendar类是个抽象类,用于描述年月日时分秒从而取代Date类的功能。

(2)常用的方法
static Calendar getInstance() - 用于获取Calendar类型的对象。
void set(int year, int month, int date, int hourOfDay, int minute, int second) - 用于根据参数指定的年月日时分秒来构造对象。
Date getTime() - 用于转换为Date类型的对象并返回。

4.集合类(重点)
4.1 基本概念
数组 - 本质上就是一段连续的内存空间,用于记录多个类型相同的数据。
- 数组一旦定义则内存空间固定,若太大或太小都会造成麻烦。
- 插入和删除元素时可能会移动大量元素,因此效率比较低。
- 使用下标访问元素非常便利,支持随机访问。
- 数组中的元素可以是基本数据类型,也可以是引用数据类型。

集合 - 内存空间可以连续也可以不连续,元素类型可以相同也可以不同。
- 集合一旦定义内存空间不固定,而且可以动态调整。
- 插入和删除元素时可以不移动大量的元素。
- 部分集合支持下标访问,部分集合不支持。
- 集合中的元素必须是引用数据类型,借助包装类。
无论是数组还是集合本质上都是一种容器,集合类指描述容器的类和接口。

4.2 基本分类
集合框架主要分为两大类:java.util.Collection集合/接口 和 java.util.Map集合/接口。
其中Collection集合的元素基本单位是:单个元素。
其中Map集合的元素基本单位是:单对元素。

在以后的开发中很少直接使用Collection集合,通常都是使用该集合的子接口:List接口、Queue接口以及Set接口等。

4.3 Collection集合的常用方法
boolean isEmpty() - 用于判断当前集合中是否为空/是否有元素。
int size() - 用于返回当前集合中元素的个数。

boolean add(E e) - 用于将参数指定的元素放入当前集合,是否成功用返回值表示。
boolean addAll(Collection<? extends E> c)
- 用于将参数指定集合的所有元素放入当前集合中。

boolean remove(Object o) - 用于删除当前集合中参数指定的单个元素。
boolean removeAll(Collection<?> c)
- 用于将参数指定集合中的所有元素从当前集合中删除。
void clear() - 用于清空当前集合。

视频
javaseday14-作业讲解-01
https://v.qq.com/txp/iframe/player.html?vid=q07988kkxkp
javaseday14-正则表达式的概念和使用-02
https://v.qq.com/txp/iframe/player.html?vid=t0798tkmp9c
javaseday14-StringBuilder类的概念-03
https://v.qq.com/txp/iframe/player.html?vid=g0797hkk5w0
javaseday14-StringBuilder方法和Date使用-04
https://v.qq.com/txp/iframe/player.html?vid=l07973dwytz
javaseday14-日期相关的类-05
https://v.qq.com/txp/iframe/player.html?vid=a0798r7r70e
javaseday14-集合类的概念和分类-06
https://v.qq.com/txp/iframe/player.html?vid=z07977aawt9
代码
https://pan.baidu.com/s/1ZrRQ2sXGFNGf1GHWphXU5A

作业:
1.查询和尝试使用Collection集合中的方法。
2.提示用户按照指定的格式输入生日信息,计算距离1970年1月1日的天数并打印出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值