20145328 《Java程序设计》第7周学习总结
教材学习内容总结
第十二章 Lambda
12.1 认识Lambda语法
- Lambda 教材的引入循序渐近、深入浅出
- Lambda去重复,回忆DRY原则
- Lambda表达式可读性更好
- Arrays.sort
- Comparator: 对比C语言中使用函数指针
- 匿名类与多态
- 方法引用(Method Reference)
- 新语法
- 一条语句用Lambda表达式,多条语句用方法引用
- 函数接口(Functional Interface)
- 就是只有一个抽象方法的接口
- Runnable
- Callable
- Comparator
- ...
- @FunctionalInterface
- 可引用的包括类的静态方法、成员方法、构造方法
- 接口默认方法(Default Method)
12.2 Functional与Stream API
- 使用Optional代替null
- 标准API的函数接口
- Consumer:一个参数,无返回值
- Function:一个参数,有返回值
- Predicate:一个参数,有返回值,返回值必须是boolean类型的
- Supplier:无参数,有返回值
- Stream与管道
12.3 Lambda与并行处理
第十三章 时间与日期
13.1 认识时间与日期
- 时间的度量
- GMT(Greenwich Mean Time)时间:现在不是标准时间
- 世界时(Universal Time,UT):1972年UTC出来之前,UT等价于GMT
- 国际原子时(TAI):秒的定义
- 世界协调时间(Corrdinated Universal Time, UTC): 闰秒
- Unix时间: 1970.1.1 00:00:00开始的秒数
- epoch: java.util.Date epoch毫秒数
- 日历
- 儒略历(Julian Calendar)
- 格里高利历(Gregorian Calendar)
- ISO8601 标准
13.2 认识Date与Calendar
- 时区
- Date与DateFormat
- Date只用来获取epoch毫秒数
- 使用Date实例的各getTime可以获得epoch毫秒数,Data实例只用来当做时间轴上的某一瞬间
- DateFormat来格式化成人类理解的年月日时分秒
- 利用DataFormat可以对字符串格式进行处理,分别有GetDateInstance、GetTimeInstance、GetDateTimeInstance
- 直接构建SimpleDateFormat,可以自定义字符串格式 parse方法可以将指定的字符串剖析Date实例
- Calendar: 时间的运算
- 取得Calendar实例后,可以取得年月日信息,可以进行设定,可以进行运算来改变
- getInstance(): GregorianCalendar
- getTime()
- get()
- add()
- roll()
- after()
- before()
- ...
13.3 JDK8新时间日期API
- 机器时间 Instant
- 人类时间(ISO8601 标准)
- LocalDateTime
- LocalDate
- LocalTime
- ZonedDateTime
- OffsetdateTime
- Year
- YearMonth
- Month
- MonthDay
- TemporalAmount
- TemporalUnit
- TemporalAccessor
- Chronology
教材学习中的问题和解决过程
学习感悟
这周的学习内容主要是时间和日期,其实java中就包含这样的一些类,对这些类进行操作就可以表示出相应的时间以及进行时间的一些输出格式的表示,还有就是对时间进行运算,最关键的就是善于利用API帮助文档,在需要的时候能够灵活地使用这些类。本周写的代码明显比起前几周要少很多,一部分原因是因为之前已经写了很多,看书基本上就能知道结果会是什么样,另一部分原因则是因为把敲代码的时间放在了看书查看API上,还有一部分时间则用于研究UML建模,代码量自然就下降了
wc统计代码行数
学习进度条
目标 |
5000行 |
40篇 |
500小时 |
|
第一周 |
30/30 |
3/7 |
28/28 |
|
第二周 |
120/150 |
1/8 |
23/41 |
|
第三周 |
400/550 |
1/9 |
23/64 |
|
第四周 |
550/1100 |
1/10 |
24/88 |
|
第五周 |
800/1350 |
2/12 |
18/106 |
|
第六周 |
1347/2697 |
2/14 |
18/124 |
|
第七周 |
543/3240 |
2/16 |
21/145 |
|
参考资料
优质内容筛选与推荐>>
1、分享知识-快乐自己:安装虚拟机详细步骤2、拍照3、GUI编程tkinter模块学习(1)4、Dynamic Web Module 3.0 requires Java 1.6 or newer.5、简单的站内引用外部搜索