郝博雅

导航

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

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

教材学习内容总结

第十二章

  • 只要静态方法的方法命名中参数于返回值定义相同,也可以使用静态方法来定义函数接口操作。
  • 除了参考静态方法作为函数接口操作之外,还可以参考特定对象的实例方法。

第十三章

  • 时间的度量
    1. 格林威治标准时间(GMT)
    2. 世界时(UT)
    3. 国际原子时(TAI) 秒的单位定义是基于TAI,也就是铯原子辐射振动次数。
    4. 世界协调时间(UTC)
    5. Unix时间
    6. epoch
  • 年历简介
    1. 儒略历
    2. 格里高里历
    3. ISO 8601标准
  • 想要去的系统时间,方法之一是使用System.currentTimeMillis()方法,返回的是long类型整数。
  • java.text.DateFormat是有关字符串时间格式的处理。DateFormat是个抽象类(可通过它来格式化时间日期),其操作类是java.text.SimpleDateFormat。
  • 如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。

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

  • 问题1:如何比较两个时间的大小?
  • 问题1解决方案:比较getTime获取的整数值大小即可,整数值大的时间就大,整数值小的时间就小,例如。
public int compareDate(Date d1,Date d2){
            if (dt1.getTime() > dt2.getTime()) {
                System.out.println("dt1 在dt2前");
                return 1;
            } else if (dt1.getTime() < dt2.getTime()) {
                System.out.println("dt1在dt2后");
                return -1;
            } else {//相等
                return 0;
            }
 }
  • 问题2:其他的DateFormat格式化编码有哪些?
  • 问题2解决方案:如图:

  • 问题3:Calendar类中的常亮有哪些?
  • 问题3解决方案:如图:

  • 问题4:Java有哪些处理日期时间常用方法?
  • 问题4解决方案:
  1. java.util.Calendar
  2. java.util.Date
  3. java.sql.Date
  4. java.util.GregorianCalendar
  5. java.text.DateFormat

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

  • 问题1:遇到了如图的问题

  • 问题1解决方案:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。若没有此行,即直接删去,也可以编译成功。

代码托管

上周考试错题总结

  • 错题1:下面哪条命令可以把 f1.txt 复制为 f2.txt ?

A .cp f1.txt f2.txt

B .copy f1.txt f2.txt

C .cat f1.txt > f2.tx

D .cp f1.txt | f2.tx

E .copy f1.txt | f2.tx

解析 :选A、C。因为

copy f1.txt f2.txt

是把f1中的内容拷贝到f2中。

  • 错题2:调用线程的interrupt()方法 ,会抛出()异常对象?

A .IOException

B .IllegalStateException

C .RuntimeException

D .InterruptedException

E .SecurityException

解析:选D、E。

  • 错题3:Given an instance of a Stream, s, and a Collection, c, which are valid ways of creating a parallel stream? (Choose all that apply.)
    给定一个Stream的实例s, 一个Collection的实例c, 下面哪些选项可以创建一个并行流?

A .new ParallelStream(s)

B .c.parallel()

C .s.parallelStream()

D .c.parallelStream()

E .new ParallelStream(c)

F .s.parallel()

解析:选D、F。

  • 错题4:Which of the following are not java.io classes? (Choose all that apply.)

A .BufferedReader

B .BufferedWriter

C .FileReader

D .FileWriter

E .PrintReader

F .PrintWriter

解析:选E。

  • 错题5:Which classes will allow the following to compile? (Choose all that apply.)
    InputStream is = new BufferedInputStream(new FileInputStream("zoo.txt"));
    InputStream wrapper = new _____(is);

A .BufferedInputStream

B .FileInputStream

C .BufferedWriter

D .ObjectInputStream

E .ObjectOutputStream

F .BufferedReader

解析:选A、D。

  • 错题6:
    Suppose that the file c:\book\java exists. Which of the following lines of code creates an object that represents the file? (Choose all that apply.)

A .new File("c:\book\java");

B .new File("c:\book\java");

C .new File("c:/book/java");

D .new File("c://book//java");

E .None of the above

解析:选B、C。

结对及互评

评分标准

  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分

点评模板:

  • 博客中值得学习的或问题:

    • 思考深刻
  • 代码中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

  • 参考示例

点评过的同学博客和代码

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

这周的任务相对比较轻松,给自己很大的自由发挥空间。这周写了一个很有意思的实验,是关于凯撒密码的。凯撒密码在密码学中学过,因此写起来比较轻松。同时也遇到了很多可以挪用c语言中知识点的地方,让我感受到了知识力量的强大。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 16/16 1/1 12/12
第二周 124/140 1/2 19/31
第三周 501/641 1/3 26/57
第四周 664/1305 1/4 27/84
第五周 886/2191 1/5 28/112 不光是照着书上的代码打了,自己也按着自己的想法打
第六周 502/2693 1/6 30/142 增加了看视频的两个小时
第七周 549/3242 2/8 25/167

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

posted on 2017-04-08 22:23  郝博雅  阅读(309)  评论(8编辑  收藏  举报