温故而知新——常见类&正则&分组&工具类&各种时间类
拼图游戏(JFrame等等)
x轴 是竖轴 y是横轴
事件:
1.鼠标事件
2.获取键盘对应的值:
美化界面的:
将一维数组放到二维数组中(很妙):
核心逻辑:移动图片
常用的API(不需要背,熟悉一下,以后用到就查阅帮助文档)
Math:
统计自幂数
用到Math.pow()
System类,常见方法如下:
Runtime类(必须先获取对象)
获取对象:
常用方法:
Object类
拷贝(克隆)
深拷贝是在浅拷贝的基础上修改的:
克隆的小细节:
如何辨别是深or浅克隆:
修改被克隆对象内容,如果克隆的也修改了,那就是浅克隆;否则,深克隆
Object类 小结:
第三方工具:gson
深克隆的思路:先转成json,再从json转到克隆对象
Objects:工具类
对象的等价对比(因为需要考虑空指针,所以用到Objects的方法):
BigInteger类:
构造方法:常用的就是2、4方法。
构造方法小结:
常见成员方法:
BigDecimal类
有3种构造方法,但常见的就是下列2种,还有一些细节:
小结:
爬虫类(不是这个类,只是功能相同)
练习2(下图中m.group()搞错了,应该是M.find()返回索引):
Java的正则表达式跟Linux的有相同,也有不同,尤其是选择性的内容
String的替换方法:
正则表达式--分组的妙用:
分组的概念:
妙用:
替换分组的内容(在正则表达式内部和外部使用分组的情况):
捕获分组和非捕获分组:
时间相关的知识:
Date类
打印时间原点(1970-0-0)之后一年的时间:
小结
SimpleDateFormat类:
作用:格式化时间format()和解析字符串parse(date)
练习:给定一个符合年月日的字符串,要求将其转换为xx年x月x日
思路:先将字符串转为一般年月日的格式,然后再转为要求的格式,即2步才能转换格式成功。
SimpleDateFormat类 小结:
只有将时间解析后才能进行加减的操作!
Calendar类,简化了日期的增减,每个属性都有常量对应-可修改:
jdk8新增的时间类
为什么要学习呢?
常见的时间类:
ZoneId类:
Instant-时间戳类
ZoneDateTime类-带时区的时间:
DateTimeFormatter类,只有2个常用方法