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

教材学习内容总结

  • Date/DateFormat

    • Date是日期类,可以精确到毫秒。

      • 构造方法

        Date()

        Date(long time)

      • 成员方法

        getTime()

        setTime(long time)

      • 日期和毫秒值的相互转换

    • DateFormat针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,所以使用其子类SimpleDateFormat

      • SimpleDateFormat(String pattern) 给定模式yyyy-MM-dd HH:mm:ss

      • 日期和字符串的转换

        • Date -- String:format()

        • String -- Date:parse()

  • Calendar

    • 日历类

      • 封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值
    • 得到一个日历对象

      • Calendar rightNow = Calendar.getInstance();
      • 本质返回的是子类对象
    • 成员方法

      • 根据日历字段得到对应的值

      • 根据日历字段和一个正负数确定是添加还是减去对应日历字段的值

      • 设置日历对象的年月日

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

  • 问题1:课本P430代码在IDEA上执行结果见下图,与书本上不一致,书本上的应该是不对的

其次对于此代码上显示的LONG与SHORT不太理解是什么意思?

  • 问题1解决方案:通过查API得知这些都是不同长度的常数,是给定的格式设置样式

  • 问题2:课本P435提到了clone()、before()、after()方法,不是很清楚这几个方法是什么意思

  • 问题2解决方案:通过查询API得知clone()方法其实是复写了Object父类方法,其结果是返回了该对象的一个副本

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

  • 问题1:课本P436程序TimeZoneDemo执行结果中时间ID一栏是Asia/Shanghai,不应该是Asia/Beijing吗?

  • 问题1解决方案:通过网上的资料显示,Java所支持的所有时区里没有Asia/Beijing,对于中国大陆时区的而言,显示的都是Asia/Shanghai

代码托管

上周考试错题总结

  • 错题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

  • 原因:我选择了AB。主要是对输出重定向不太了解

  • 理解情况:正确答案应为AC,copy是Windows下的命令。cat f1.txt > f2.tx通过输出重定向实现了复制

  • 错题2:Linux中,使用()命令可以更改一个文件的权限。

    A .attrib

    B .change

    C .chmod

    D .file

  • 原因:望文生义,因为更改就是用change。。

  • 理解情况:attrib是Windows下的命令,没change这个命令,file是用来查看文件类型的

  • 错题3:下面代码中共有()个线程?

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 {
...
}

A .1 B .2 C .3 D .4

  • 原因:忘记了还有主线程

  • 理解情况:2个自定义的线程和1个主线程,共三个

  • 错题4:Assuming / is the root directory, which of the following are true statements? (Choose all that apply.)

    A ./home/parrot is an absolute path.

    B ./home/parrot is a directory.

    C ./home/parrot is a relative path.

    D .The path pointed to from a File object must exist.

    E .The parent of the path pointed to by a File object must exist.

  • 原因:没看懂题目

  • 理解情况:Paths that begin with the root directory are absolute paths, so A is correct and C is incorrect. B is incorrect because the path could be a file or directory within the file system. A File object may refer to a path that does not exist within the file system, so D and E are incorrect.

  • 错题5:What is the result of executing the following code? (Choose all that apply.)

String line;
Console c = System.console();
Writer w = c.writer();
if ((line = c.readLine()) != null)
w.append(line);
w.flush();

A .The code runs without error but prints nothing.

B .The code prints what was entered by the user.

C .An ArrayIndexOutOfBoundsException might be thrown.

D .A NullPointerException might be thrown.

E .An IOException might be thrown.

F .The code does not compile.

  • 理解情况:This is correct code for reading a line from the console and writing it back out to the console, making option B correct. Options D and E are also correct. If no con- sole is available, a NullPointerException is thrown. The append() method throws anIOException.

  • 错题6:What are some reasons to use a character stream, such as Reader/Writer, over a byte stream, such as InputStream/OutputStream? (Choose all that apply.)

    A .More convenient code syntax when working with String data

    B .Improved performance

    C .Automatic character encoding

    D .Built-in serialization and deserialization

    E .Character streams are high-level streams

    F .Multi-threading support

  • 理解情况:Character stream classes often include built-in convenience methods for working withString data, so A is correct. They also handle character encoding automatically, so C is also correct. The rest of the statements are irrelevant or incorrect and are not properties of all character streams.

结对及互评

点评过的同学博客和代码

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

Java后续学习的知识使用起来还是比较生疏,有的时候对某些以为自己懂的概念还是比较模糊,所以之后对于Java的学习,还是需要多实践,在实践中总结经验,提升能力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 1/ 20/20 对IDEA、git、JDK、JVM有了更多的了解,面对学习过程中遇到的困难学会自己主动地寻找办法去解决
第二周 1/2 18/38 掌握了Java中的基本运算符和基本语句
第三周 1/3 22/60 对面向对象、封装、构造函数等重要知识点有了初步理解,学会自主学习,遇到困难的时候从多方面寻找资料以求答案
第四周 1/4 22/60 对继承和多态了一定程度的理解,并学会使用多态来提高代码的复用性
第五周 706/2639 1/5 25/85 对异常以及集合框架的学习
第六周 735/3194 1/6 28/113 对IO流,多线程以及并行API的学习
第七周 428/3474 1/7 18/131 对Date的学习

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:15小时

  • 实际学习时间:18小时

  • 改进情况:还是要扎实学习之前的知识,避免对后续学习产生过多不良影响

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料

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

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

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

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

    20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...

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

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

  4. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

  5. 20155330 2016-2017-2 《Java程序设计》第九周学习总结

    20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. HttpURLConnection、HttpClient和Session

    原文地址:http://www.cnblogs.com/kross/p/3615695.html 一直没弄懂Session,cookies什么的登陆验证到底是怎么回事,昨天分别用HttpURLConn ...

  2. day1 学习历程

    day1 我是一个在校大三学生,一个依然迷茫不知前景的大学混子= =,可以这么说吧 大学混子 真正开始决定好好学习大概在去年的12月份 那时经老师的提醒 开始正式接触软件开发 于是 从头开始学习语言 ...

  3. Spring Boot快速搭建Spring框架

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...

  4. STM32标准外设库、 HAL库、LL库

    工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是常用的库,后面的LL库是ST最近才添加,目前支持的 ...

  5. 【Java并发编程】之五:volatile变量修饰符—意料之外的问题

    volatile用处说明 ​ 在JDK1.2之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的 ...

  6. jsp中的下载链接

    1.下载链接jsp界面(a链接直接链文件可以看出文件在服务器中的路径,用servlet处理的链接则看不出) <%@ page language="java" contentT ...

  7. DAY2-Python学习笔记

    1.迭代器:可以直接作用于for循环的对象统称为可迭代对象:Iterable,使用isinstance()判断一个对象是否是Iterable对象: >>> from collecti ...

  8. MT【145】不变的平面角

    (2018,4月学考数学选择最后一题)如图,设矩形$ABCD$所在平面与梯形$ACEF$所在平面相交于$AC$. 若$AB=1,BC=\sqrt{3},AF=EF=EC=1,$则下面二面角的平面角为定 ...

  9. Java EE之JSTL(下)

    3.使用国际化和格式化标签库(FMT命名空间) 如果你希望创建部署在Web上,并面向庞大的国际化用户的企业级Java应用程序,那么你最终需要为世界的特定区域进行应用程序本地化.这将通过国际化实现(通常 ...

  10. Activiti工作流的应用示例 (官方guide项目方式)

    转: Activiti工作流的应用示例 1.新建流程模型 模型管理->模型工作区 点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节 2.在线流程设计器 模型管理->模型工作区 ...