zoukankan      html  css  js  c++  java
  • 20155236 2016-2017-2 《Java程序设计》第七周学习总结

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

    教材学习内容总结

    • Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。
      eg:
      Calendar calendar = Calendar.getInstance();
      取得Calendar实例后,可以使用getTime()取得Data实例,如果想要取得年月日等日期数字时段,可以使用get()方法并指定Calendar上的数字段枚举常数。
      eg:想取得年、月、日字段。
    out.println(calendar.get(Calendar.YEAR));
    out.println(calendar.get(Calendar.MONTH));
    out.println(calendar.get(Calendar.DATE));
    
    • 如果你要设定时间日期等字段,不要对Date设定,应该使用Calendar,同样地,月份的部分请使用枚举常数设定。
      eg:
    Calendar calendar = Calendar.getInstace();
    calendar.set(2016,Calendar.APRIL,16); // 2016/04/16
    out.println(calendar.get(Calendar.YEAR)); // 2016
    out.println(calendar.get(Calendar.MOUNTH)); //Calendar.APRIL取值3
    out.println(calendar.get(Calendar.DATE)); //16
    

    TimeZone

    • TimeZone的getdefault可以取得默认时区的信息;Calender在调用getInstance()时可以指定Timezone,如果已经取得Calender实例,可以通过setTimeZone()的方法设定时区。

    • TemporalAmount 时间计量,新时间和日期用API用类Duration来定义,对于年、月、日、星期的日期差,可使用Period类定义,静态方法ofDays()、ofMonths()、ofWeeks(),返回Period实例。

    • TemporalUnit plus()方法的另一重载版本,接受java.time.temporal.TemporalUnit实例,java.time.temporal.ChronoUnit是其实做类,使用enum实做。

    • Temporal plus()定义在Temporal接口上;Instant、LocalDate、LocalDateTime、LocatTime、OffsetTime、ZonedDateTime等类,都操作了 Temporal 接口。

    • TemporalAccessor Temporal是 TemporalAccessor的子接口。

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

    • 如何计算一个程序的运行时间?
    • (1)以毫秒为单位计算:
    long startTime=System.currentTimeMillis(); //获取开始时间
    
     doSomeThing(); //测试的代码段
    
     long endTime=System.currentTimeMillis(); //获取结束时间
    
     System.out.println("程序运行时间: "+(end-start)+"ms");
    

    (2)以纳秒为单位计算:

    long startTime=System.nanoTime(); //获取开始时间
    
      doSomeThing(); //测试的代码段
    
      long endTime=System.nanoTime(); //获取结束时间
    
      System.out.println("程序运行时间: "+(end-start)+"ns");
    

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

    • P435的代码为什么要调用clone()?

    避免调用yearsBetween()、datsBetween()之后传入的Calendar自变量被修改,两个方法都对第一个自变量进行了clone()复制对象的动作。

    代码托管

    上周考试错题总结

    • copy是windows下的命令,cat(Linux)是通过输出重定向实现了复制。
    • attrib是windows下的命令,file(linux)用于查看文件类型。
    • t1 2是线程,但别忘了主线程main
    • Thread也实现了Thread接口。
    • 剩下的题解析都是英文的,实在看不懂。

    结对及互评

    • 学习内容
      1.Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。
      2.Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。

    结对照片

    点评过的同学博客和代码

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

    • java的核心知识与难点之前都已经学完了,后面的章节全都是介绍一些类的应用。看第一遍教材的时候肯定觉得陌生,难以接受。这是个过程,很正常。
    • 在不断的学习中,我也在不断的寻找适合自己的好的学习方法。看第一遍教材先有个大概的了解,头脑里勾画出一个轮廓。然后看第二遍才是逐渐理解与体会,往轮廓里填内容,这时不能只看书,还要结合书上的代码,自己还要主动敲代码,主动发现问题。第三遍是梳理知识点也是回忆,将大脑与知识相融合。
    • 但是我发现往往看到第二遍时审美就已经疲劳了,还得强迫自己继续翻看。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 10/10 1/1 10/10
    第二周 100/100 2/2 19/25
    第三周 200/278 1/3 10/26
    第四周 660/938 1/4 10/36
    第五周 1100/2100 1/5 18/54
      |       |
    

    | 第六周 | 740/2840 | 1/6 | 23/77
    | 第七周 | 352/3192
    | 2/8 | 20/97

    • 计划学习时间:30小时

    • 实际学习时间:20小时

    • 改进情况:因为要做实验,所以比平时自己多动了很多手。

    参考资料

    无0.0

  • 相关阅读:
    HyperLedger Fabric 1.4 问题汇总(16)
    HyperLedger Fabric 1.4 kafka生产环境部署(11.1)
    HyperLedger Fabric 1.4 多机多节点部署(10.3)
    HyperLedger Fabric 1.4 单机单节点部署(10.2)
    HyperLedger Fabric 1.4 Solo模式简介(10.1)
    HyperLedger Fabric 1.4 智能合约 Helloworld运行(9)
    HyperLedger Fabric 1.4 官方End-2-End运行(8)
    Elasticsearch的null values
    Linux环境下Java中文乱码解决方案
    Elasticsearch基本原理分析
  • 原文地址:https://www.cnblogs.com/fcgfcgfcg/p/6684788.html
Copyright © 2011-2022 走看看