20155213 2016-2017-2 《Java程序设计》第七周学习总结
20155213 2016-2017-2 《Java程序设计》第七周学习总结
教材学习内容总结
Lambda
如果使用JDK8的话,可以使用Lambda特性去除重复的信息。
在只有Lambda表达式的情况下,参数的类型必须写出来,如果有目标类型的话,在编译程序可推断出类型的情况下,就可以不写出Lambda表达式的参数类型。
Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法。
Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作。
认识Date与Calendar
Date
想要取得系统时间,使用System.CurrentTimeMillis()方>法,返回的是long类型整数。
Date是偏向机器的时间观点。
有两个函数可以调用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用SystemcurrentTimeMillis()取得epoch函数,调用getTime()可取得内部保存的epoch毫秒数。
Calendar
可以用其取得某个时间日期信息,或者是对时间日期进行操作,可以使用其实例。
可以使用getTime()方法取得Date实例
要想取得年月日日期时间字段,可以使用get()方法并指定Clendar上的字段枚举常数。
在取得一个Clendar实例后可以采用add()方法,来改变Clendar时间。
GregoricanClendar是Clendar的子类。
日历时间可以使用GregoricanClendar的setGregoiranChange()方法来修改,设为Date(Long.MAXVALUE)就是纯粹的儒略历,设为Date(Long.MINVALUE)就是纯粹的格里高利历。
想要比较两个Clendar的时间日期先后,可以使用after()或before()方法。
关于年历
- 儒略历:修正了罗马历隔三年设置一闰年的错误,改采四年一闰。
- 格力高利历:将儒略历1582年10月4号星期四的隔天,订为格里高利历1582年10月15日星期五。
- ISO 8601标准,采用统一的数据格式例如:yyyy-mm-ddTHHH:MM:SS.SSS等。
使用Calendar时,并没有使用时区信息,这回使用该默认时区,可以使用java.util.TImeZone的getDefault()来取得默认时区信息
由于某一时区已经不实施日光节约一段时间了,许多开发者并不知道过去有过日光节约时间,在取得Date实例后,被名称Date误导他们代表日期,所以不应该使用Data实例来得知人类观点的时间信息。
真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。
教材学习中的问题和解决过程
- 问题1:在时间计算中,怎么对时区进行计算?
- 问题1解决方案:怎么对时区进行计算时区的计算是非常困难的,在新的时间与日期API中个,UTC偏移量与时区的概念是分开的,OffsetDateTime单纯代表UTC偏移量,使用ISO 8601,如果有LocalDateTIme、LocalDate、Localtime
也可以在分别补齐必要信息后,取得UTC偏移量。 - 问题2:不清楚
ZonedDateTimeDemo.java程序运行结果中数字的含义? - 其中代码如下:
import static java.lang.System.out;
import java.time.*;
public class ZonedDateTimeDemo2 {
public static void main(String[] args) {
LocalTime localTime = LocalTime.of(0, 0, 0);
LocalDate localDate = LocalDate.of(2016, 4, 16);
ZonedDateTime zonedDateTime = ZonedDateTime.of(
localDate, localTime, ZoneId.of("Asia/Shanghai"));
out.println(zonedDateTime);
out.println(zonedDateTime.toEpochSecond());
out.println(zonedDateTime.toInstant().toEpochMilli());
}
}
- 问题2解决方案:通过运行程序与其他内容对比得到原来程序中的数字是机器时间起点至今经过的毫秒数.
代码调试中的问题和解决过程
问题1:在运行DateFormatDemo中,提示它是公共的,应该在该文件的.java中声明,代码中定义的本来就为public class,DateFormatDemo
问题1解决方案:去除public之后就能成功运行了
代码托管



上周考试错题总结
- 6.多选:如果有以下代码段:
Thread thread = new Thread(new ________________() {
public void run() {...}
});
空白部分指定哪些类型可以通过编译? (AB)
- A. Runnable
- B. Thread
- C. Future
- D. Executor
- 解析
- 查API文档,Thread 也实现了 Runnable 接口
结对及互评
- 与155227辜彦霖结对
- 个人感觉她的博客排版很好看,很值得借鉴,代码量和提交次数都挺多,这种态度值得学习,但有点,所解决问题不够个性化。
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评过的同学博客和代码
点评过的同学博客和代码
其他(感悟、思考等,可选)
- 前几章大量的敲代码工作让同学们的学习都留于形式,只想着完成作业而对代码的理解少之又少,感觉学好java的方法不是“敲”代码,而是“修改”代码,敲好代码以后如果不理解代码的能,可以通过修改代码来具体体会其真正含义。
- 进步来源于发现问题和解决问题,如果大家不去主动思考,简单机械的完成作业,那学习便失去了意义。
- 经过这七周的学习,可以说,我们已经基本学完了Java的基础知识,但是学完并不代表掌握了。“纸上得来终觉浅,绝知此事要躬行”,真正想要掌握这些知识,只能是通过自己独立编写程序来获得。可能第一次编的时候会出现许多的错误,可是这也就给自己成长带来了帮助,知道自己哪里不足,哪里可以提高。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 48/48 | 1/1 | 20/20 | |
| 第二周 | 98/146 | 1/2 | 30/50 | 学习java的基础语法 |
| 第三周 | 302/448 | 1/3 | 27/77 | 学习java对象及封装 |
| 第四周 | 1032/1480 | 1/4 | 36/113 | 学习了继承与多态的关系,以及接口的多态操作 |
| 第五周 | 609/2025 | 1/5 | 30/143 | 学习了异常处理和Map |
| 第六周 | 672/2697 | 1/6 | 30/173 | 学习了IO和线程 |
| 第七周 | 532/3229 | 1/7 | 27/200 | 对Lambda和Date的学习 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:35小时
实际学习时间:30小时
改进情况:
有空多看看现代软件工程课件 软件工程师能力自我评价表)
参考资料
20155213 2016-2017-2 《Java程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...
- 20155213 2016-2017-2 《Java程序设计》第九周学习总结
20155213 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20155213 2016-2017-2 《Java程序设计》第二周学习总结
20155213 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 关于Unicode和UTF 很抱歉,没能读完娄老师推荐的网址,关于Unicode和UTF的介 ...
- 20155213 2016-2017-2 《Java程序设计》第一周学习总结
20155213 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 了解JVM.JRE与JDK,并下载.安装.测试JDK JVM JVM是Java Virtua ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20155312 2016-2017-2 《Java程序设计》第九周学习总结
20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
随机推荐
- 如何提高cxgrid的刷新速度
如果View的类型是cxGridDBTableView: 1.cxGrid.DisableControls;cxGrid.EnableControls; 如仍觉得慢,可以把 cxGrid1DBTabl ...
- 项目上线,php的错误信息必须不让其在页面中显示给客户,
对于PHP开发者来 说,一旦某个产品投入使用,应该立即将 display_errors选项关闭,以免因为这些错误所透露的路径.数据库连接.数据表等信息而遭到黑客攻击.但是,任何一个产品在投入使用后,都 ...
- mysql按日期分组统计数据
最近在做一个招聘网时,需要显示一个月内企业招聘信息的发布数量,按日期分组统计,刚开始是直接从源数据库表里面进行group by,但这样子就出现日期不连续的问题了,我想要的效果是,若当天没有数据,则显示 ...
- 利用stream对map集合进行过滤
最近公司在大张旗鼓的进行代码审核,从中也发现自己写代码的不好习惯.一次无意的点到了公司封装的对map集合过滤的方法,发现了stream.于是研究了一下.并对原有的代码再次结合Optional进行重构下 ...
- SGU326_Perspective
NBA打比赛.所有的比赛被分为多个团队.有的比赛是团内的,有的是与团外的队伍打的. 给出团内每个队伍已得分,以及总共有多少场比赛,还有团内所有队伍之间有多少场比赛? 问1队是否可能是分数最高的一个队伍 ...
- There is no getter for property named 'notice' in 'class com.game.domain.Notices'
在插入数据时报错:There is no getter for property named 'notice' in 'class com.game.domain.Notices' 四月 11, 20 ...
- 【转】LINQ多表关联关联条件
转:http://www.dingcankong.com/linq%E4%B8%A4%E8%A1%A8%E8%81%94%E5%90%88%E6%9F%A5%E8%AF%A2/ 答案如下: var m ...
- Spring点滴六:Spring中定义bean的继承
在基于XML配置元数据中,bean标签可以包含很多配置信息,可以包含构造函数的参数,属性值以及其他一些初始化方法.子bean的定义可以继承父bean定义元数据,子bean定义可以根据需要重写父bean ...
- Java之NIO,BIO,AIO
Hollis知识星球的一些学习笔记,有兴趣的朋友可以微信搜一下 什么是NIO 什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 ...
- Java之Object类和常用的API
Object类和常用的API 学习过程中的笔记,涉及到Objetc中的equals方法和toString方法,日期类Date,日历类Calendar,日期格式化类SimpleDateFormat以及基 ...