2016-2017-20155329 《Java程序设计》第7周学习总结
学号 2016-2017-20155329 《Java程序设计》第7周学习总结
教材学习内容总结
时间的度量
- 格林威治标准时间(GMT时间)
- 世界时(UT)
- 国际原子时(TAI)
- 世界协调时间(UTC)
- Unix时间
- epoch
java.util.Date类
-
java.util提供了Date类来封装日期和时间。实例化Date类的两个构造函数,
-
Date();--当前时间
-
Date(long millisec);--距离格林威治时间1970年1月1日millisec毫秒的时间
使用DateFormat格式化日期
import java.util.;
import java.text.;
public class DateDemo {
public static void main(String args[]) {
Date now = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(now));
//Current Date: 火 2016.11.01 at 01:37:56 午後 CST
} }
简单的DateFormat格式化编码、
Calendar类
创建一个Canlendar对象---
Calendar c = Calendar.getInstance();//默认是当前日期
创建一个指定日期的Canlendar对象
Calendar c1= new Calendar.getIntance();
Calendar类对象信息的设置
Set设置
如:
Calendar c1 = Calendar.getInstance();
调用:
public final void set(int year,int month,int date)
c1.set(2009, 6 - 1, 12);//把Calendar对象c1的年月日分别设这为:2009、6、12
利用字段类型设置
如果只设定某个字段,例如日期的值,则可以使用如下set方法:
public void set(int field,int value)
把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算
c1.set(Calendar.DATE,10);
把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算
c1.set(Calendar.YEAR,2008);
其他字段属性set的意义以此类推
Add设置
Calendar c1 = Calendar.getInstance();
把c1对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, 10);
把c1对象的日期减去10,也就是c1也就表示为10天前的日期,其它所有的数值会被重新计算
c1.add(Calendar.DATE, -10); ## 教材学习中的问题和解决过程 - 问题1:add() 与 roll() 的区别 - 问题1解决方案:取得add()实例后,用add()方法改变Calender时间,相当于进位加减法,而roll()是对日期中某一字段进行加减,也就是不进位加减法吧。 - 问题2:UTC的闰秒修正具体是怎么进行的 - 问题2解决方案:是指为保持协调世界时接近于世界时时刻,由国际计量局统一规定在年底或年中(也可能在季末)对协调世界时增加或减少1秒的调整。闰秒一般加在公历年末或公历六月末 - ... ## 代码调试中的问题和解决过程 - 问题1:上周实验电脑没电用室友的电脑编写实验代码,然后拷贝优盘上,后面放到自己电脑上就不能编译了 ![](http://images2015.cnblogs.com/blog/1071583/201704/1071583-20170409160006644-1899729645.png) - 问题1解决方案:这是一个编码问题,和程序本身无关,人眼看不见,但是计算机能看见,所以不能编译通过。 我是再一次完完整整的在自己电脑中又敲了一遍这些代码,编译就通过了 - ... ## [代码托管](码云http://git.oschina.net/学习项目链接) (statistics.sh脚本的![](http://images2015.cnblogs.com/blog/1071583/201704/1071583-20170409155805035-1166630086.png) 运行结果截图) ## 上周考试错题总结 -下面哪条命令可以把 f1.txt 复制为 f2.txt ?(AC) 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 15.Assuming / is the root directory, which of the following are true statements? (Choose all that apply.)(A) 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. 9.现有 ``` class Calc { public static void main(String [] args) { try { int x = Integer.parselnt ("42a") ; //insert code here System.out.print ("oops"); } } } ``` 下面哪行分别插入到第五行,会导致输 "oops" ?(AC) A . catch (IllegalArgumentException e) { B . } catch (IllegalStateException c) { C . } catch (NumbelFormatException n) { D . } catch (ClassCastException c) { ## 结对及互评 我的结对伙伴是5327李百乾。本周学习任务主要是13章,时间与日期。在本周内我们在一起学习了十三章内容,了解掌握了Calendar。 ### 评分标准 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 - xxx - ... - 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx - [参考示例](http://www.cnblogs.com/haoliberale/p/6580822.html#3650972) ### 点评过的同学博客和代码 - 本周结对学习情况 - [结对同学学号5327](博客链接) - 结对照片 ![](http://images2015.cnblogs.com/blog/1071583/201704/1071583-20170409160513144-259490253.png) - 结对学习内容 - Calendar - ... - 上周博客互评情况 - [学号20155320](博http://www.cnblogs.com/ljq1997/客链接) - [学号20155233](博客http://www.cnblogs.com/l20155233/p/6659608.html链接) - [学号20155214](博客http://www.cnblogs.com/besti155214/p/6659157.html链接) - [学号20155334](博客链http://www.cnblogs.com/bestixx/p/6659636.html接) - ... ## 其他(感悟、思考等,可选) 学习Java已经半个学期了,回想半年Java课,最大的收获是自我学习能力增强了不少,但还是有遗憾,在半年的学习里Java并没有多少进步。总感觉时间不够用,尽力就好,能学懂多少是多少吧。 ## 学习进度条 | | 代码行数(新增/累积)| 博客量(新增/累积)|重要成长| | -------- | :----------------:|:----------------:|:---------------: |:-----:| | 目标 | 3000行 | 30篇 | | | 第七周 | 410/1180 | 9/15 | 尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 参考:[软件工程软件的估计为什么这么难](http://www.cnblogs.com/xinz/archive/2011/04/05/2005978.html),[软件工程 估计方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294.html) - 计划学习时间:14小时 - 实际学习时间:22小时 - 改进情况:略差 (有空多看看[现代软件工程 课件 软件工程师能力自我评价表](http://www.cnblogs.com/xinz/p/3852177.html)) ## 参考资料 - [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/) - [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html) - ...