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

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

教材学习内容总结

第十二章 Lambda

  • Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法。
  • JDK8提供了方法参考的特性,可以重用byLength方法
  • Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作
  • 方法参考不仅避免了重复撰写Lambda表达式,也可以让程序代码更清楚
  • Lambda表达式本身是中性的,不代表任何类型的实例,同样的Lambda表达式,可用来表示不同目标类型的对象操作
  • 如果Lambda表达式中捕获的局部变量本身等效于final局部变量,可以不用在局部变量上加上fianl
  • Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作
  • 在lambda表达式中不可以改变被捕获的局部变量值
  • 在JDK中,如果变量本身等效于final局部变量,也就是说,如果变量不会再匿名类中有重新指定的动作,就可以不用加上final关键词

第十三章 时间与日期

  • ISO 8601标准:并非年历系统,而是时间日期表示方法的标准,用以统一时间日期的数据交换格式
  • 每个地区的标准时间各不相同,涉及到地理、法律、经济、社会、政治等问题
  • Date有两个构造函数可以使用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用System.currentTimeMillis()取得毫秒数,调用getTime()可取得内部保存的epoch毫秒数值。
  • DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,可以直接构建SimpleDateFormat实例,或是使用DateFormat的getDateInstance()getTimeInstance()、getDateTimeInstance等静态方法,用较简便方式按不同需求取得SimpleDateFormat实例。
  • Date现在建议作为时间轴上的瞬间代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。
  • Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。
  • 使用Calendar时若没有使用时区信息,则会使用默认时区。可以使用java.util.TimeZone的getDefault()来取得默认时区信息

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

  • 为什么要用lambda
  • lambda
  • java.text.DateFormat抽象类的使用
  • 总结

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

这周较之前几周相比,感觉学习难度没有之前那么大。因而代码调试中并没有出现什么难以解决的问题

代码托管

git托管

代码量

上周考试错题总结

  • 下面哪条命令可以把 f1.txt 复制为 f2.txt ?
    cp f1.txt f2.txt/cat f1.txt > f2.tx
  • 没有注意到多选
  • 下面代码中共有()个线程?
    public class ThreadTest {
    public static void main(String args[]){
    MyThread myThread =new MyThread();
    Thread t1=new Thread(myThread);
    Thread t2=new Thread(myThread);
    t1.start();
    t2.start();
    }
    }
    class MyThread extends Thread {
    ...
    } 答案:3
  • 忽视了main
  • Which of the following statements about the Callable call() and Runnable run() methods are correct? (Choose all that apply.)
  • Both can throw unchecked exceptions. /
    Callable can throw a checked exception. /
    Both can be implemented with lambda expressions. /Callable returns a generic type.
  • 看不懂题和答案
  • 总结:因为在即将交卷时误退出了答题页面,没有保存下答案。重新开始考试后因为内心慌乱,有的答案出现了偏差。而且部分英文题目题干和答案都看不懂。通过翻译软件查询也会在部分专业单词方面翻译或理解出错。希望老师能够在下次考试时依然用中文题出卷并且多选题少选可以考虑给一半分。

结对及互评

点评过的同学博客和代码

  • 本周结对学习情况
    • 20155235
    • 结对学习内容
      • 一起交流了考试的错题以及实验的代码。虽然题目不同,但是一起交流后任然获得许多启发。
  • 上周博客互评情况

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

刚开始对输入输出部分看得很头疼,上一周看的时候也只是比较草率的看完,这周又着重看了这部分的,感觉比上周好多了,但是可能还需要对一些概念进行更深入的理解。对于线程那部分,上星期就遗留下来很多问题,虽然解决了一部分,但是还存在一部分需要这周继续完成。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第七周 492/600 1/1 20/35

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

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

  • 计划学习时间:35小时

  • 实际学习时间:20小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted on 2017-04-09 19:10  20155211  阅读(268)  评论(6编辑  收藏  举报