20155337 2016-2017-2 《Java程序设计》第七周学习总结

教材学习内容总结

•认识时间与日期

•格林威治标准时间:简称GMT时间,参考格林威治皇家天文台的标准太阳时间。

•世界时:简称UT,借由观测远方星体跨国子午线。

•国际原子时:简称TAI,将秒的时间定义为铯原子辐射震动9192631770周耗费的时间。

•世界协调时间:简称UTC,保持TAI与UT的时间不要差距过大。

•Unix时间:Unix系统时间表示法,用以表达时间轴上某一瞬间。

•epoch:简称为epoch毫秒数,从某个特定时代开始,时间轴上某一瞬间。

•儒略历:用来取代罗马力,修正了隔三年设置一闰年的错误,改采四年一闰。

•格里高利历:改革了儒略历。

•ISO 8601标准:并非年历系统,而是时间日期表示方法的标准,用以统一时间日期的数据交换格式。

•时区:大致来说经度15度偏移一个小时,考虑了UTC偏移的时间表示上,通常会标识Z符号。

•Date与Calendar

•关于Date:

•想要取得系统时间,使用System.CurrentTimeMillis()方>法,返回的是long类型整数。

•Date是偏向机器的时间观点。

•有两个函数可以调用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用SystemcurrentTimeMillis()取得epoch函数,调用getTime()可取得内部保存的epoch毫秒数。

•关于DateFormat:

•java.text.DateFormat用来有关字符串时间格式的处理。

•操作类是java.text.SimpleDateFormat,可直接构建SimpleDateFormat实例。其好处是可以使用模式字符串自定义格式。

•有个prase()方法,可以按照构建SimpleDateFormat时指定的格式,将指定的字符串剖析为Date实例。

•关于Canlendar:

•可以用其取得某个时间日期信息,或者是对时间日期进行操作,可以使用其实例。

•可以使用getTime()方法取得Date实例

•要想取得年月日日期时间字段,可以使用get()方法并指定Clendar上的字段枚举常数。

•在取得一个Clendar实例后可以采用add()方法,来改变Clendar时间。

•GregoricanClendar是Clendar的子类。

•日历时间可以使用 GregoricanClendar的setGregoiranChange()方法来修改,设为Date(Long.MAX_VALUE)就是纯粹的儒略历,设为Date(Long.MIN_VALUE)就是纯粹的格里高利历。

•想要比较两个Clendar的时间日期先后,可以使用after()或before()方法。

•关于TimeZone:

•使用默认时区,可以使用java.util.TimeZone的getDefault()来取得默认时区信息。

•可以通过setTimeZone()方法设定TimeZone

•JDK8新时间日期API

•机器时间观点的API:

Date实例应该只代表机器观点的时间信息,真正可靠的信息只有内含的epoch毫秒数。如果取得Date实例,应该通过Date的getTime()取得epoch毫秒数,这样就不会混肴。

主要为java.time。设计了Instant类,用以代表自定义的java epoch 精度基本上是毫秒,但可以添加奈秒。

•人类时间观点的API:

•LocalDateTime包括日期与时间、LocatDate只有日期、LoucatTime只有时间。

•当补上时区信息后,如果组合起来的时间实际上不存在,ZoneDateTime会自动更正。

•在新的时间与日期API中,UTC偏移量与时区的概念是分开的。offsetDateTime单纯代替UTC偏移量,使用ISO 8601。

•可用Year表示年、用YearMonth表示年月、只想表示月可以使用Month、想表示月日可以使用MonthDay。想取得代表月份的数字,不要使用oridinal()方法,因为其是enum再定义时的顺序,从零开始,想要去的代表月份的数要通过getValue()方法。

•实际上以上方法都操作了Temporal接口。

•对时间的运算:

•ofPattern是java.time.format.DateFormatter的静态方法。

•对于年、月、星期、日的日期的差,则使用Preriod类定义。

•ofDays()、ofMonths()、ofWeeks()其实是Preriod的静态方法。

•plus()方法接受java.time.temporal.TemporalAmount实例,而TemporalAmount的操作类也就是Preiod与Duration。

•plus()另一方法接受java.time.temporal.temporalUnit实例,java.time.temporal.ChronoUnit是TemporalUnit实作类,使用enum实作。

•TemporalAccessor定义了只读的时间对象读取操作、实际上Temporal是TemporalAccessor子接口,增加了对时间的处理操作。

•年历系统设计:java.time.chrono操作了java.time.chrono.Chronlogy接口的类。

教材学习中的问题和解决过程

学习本章有关时间与日期的,没有之前的java语法那么繁杂,规定自然而然也会少一些。但是还是存在一些问题的。

其中对于理解机器时间的概念和人类时间的概念存在问题。同样对于Date实例真正代表的并不是日期,最接近的概念应该是时间轴上特定的某一瞬间。时间精=精度是毫秒,是UTC时间1970年1月1日0时0分0毫秒至某个特定瞬时的毫秒差。

其实理解有关时间与日期的API,同样也是把握住java是面向对象设计的而不是面向过程这一要点,理解起来知识点就会简单许多。

对于TemporalAmount和TemporalUnit要把握住继承了哪个类,操作了哪个接口,注意各自的操作特点掌握分清各个方法的用途。

代码调试中的问题和解决过程

本周是关于日期与时间,学习难度不大,主要仔细跟着书上的步骤来,代码的难度也比原来小了许多,在书上范例代码调试的问题和解决基本没有存在问题。

但是通过代码的调节发现不论是那一块的知识与运用方法都要掌握准确,不然很容易会出错误。

结对及互评

·20155224
·20155332
·20155206
·20155317
·20155220

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

      点评模板:

其他(感悟、思考等,可选)

学习java已经很久了,掌握的硬知识也有很多了。但是在这么久的学习java要把握住java是面向对象的,不然在理解一些类和一些方法的时候会存在问题。不论是哪些方面的知识总是记清楚之间的用法和具体区别。通过这门课程不光要学习很多的知识点,而且更要学会这种学习方式,一种遇到问题去解决问题的思维过程,这样才是有益的收获。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第四周 90/200 2/2 10/20

参考资料

20155337 2016-2017-2 《Java程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 20155337 2016-2017-2 《Java程序设计》第一周学习总结

    20155337 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 我们主要学习的是JAVA SE平台也就是标准平台-Java SE四个组成部分:JVM .JR ...

  3. # 20155337 2016-2017-2 《Java程序设计》第九周学习总结

    20155337 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  5. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  8. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  9. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  10. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

随机推荐

  1. AXI4

    axis  AXI4-stream 去掉了地址项,允许无限制的数据突发传输规模: 摘自http://xilinx.eetrend.com/blog/11443

  2. BZOJ3207花神的嘲讽计划Ⅰ——主席树+hash

    题目描述 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天DJ在给吾等众蒟 ...

  3. BZOJ2069 POI2004ZAW(最短路)

    显然这样的路径一定是选择了与1相邻的不同的两点分别作为起点和终点(除1本身).如果能将每一组起点终点都计算到就可以得出最优解了.暴力显然不行.注意到我们每次求出的是单源最短路径,考虑如何充分利用信息. ...

  4. POJ3122-Pie-二分答案

    有N个派,F+1个人,每个人分到的体积要相等,而且每个人只能有一块派. 二分答案,对于一个mid,对每个派进行检测,尽量的多分,然后如果份数比F+1大,说明mid可以更大,就把mid给low.注意份数 ...

  5. HDU1711-KMP-水题

    纯KMP,入门题,不知道读入挂加朴素匹配能不能过 #include <cstdio> #include <algorithm> #include <cstring> ...

  6. HDU-5373-水题-卡常数时间

    姿势就是力量啊! 第一次意识到long long 比 int要慢很多.当时想到了各种优化仍然TLE,最后也没A出来,就是用了long long #include <cstdio> #inc ...

  7. codeforces 793B. Igor and his way to work

    B. Igor and his way to work time limit per test 3 seconds memory limit per test 256 megabytes input ...

  8. python 和 scikit-learn 实现垃圾邮件过滤

    文本挖掘(Text Mining,从文字中获取信息)是一个比较宽泛的概念,这一技术在如今每天都有海量文本数据生成的时代越来越受到关注.目前,在机器学习模型的帮助下,包括情绪分析,文件分类,话题分类,文 ...

  9. 【LOJ#6374】网格(二项式反演,容斥)

    [LOJ#6374]网格(二项式反演,容斥) 题面 LOJ 要从\((0,0)\)走到\((T_x,T_y)\),每次走的都是一个向量\((x,y)\),要求\(0\le x\le M_x,0\le ...

  10. POSIX 线程取消点的 Linux 实现

    http://blog.csdn.net/stevenliyong/article/details/4364039 原文链接:http://blog.solrex.cn/articles/linux- ...