首页 > 技术文章 > 第三周作业

CHUNWANG 2017-03-18 14:27 原文

20162324 2006-2007-2 《程序设计与数据结构》第3周学习总结

教材学习内容总结

  • 讨论对象的创建及对象引用变量的使用。
  • 介绍了String类的几种基本的方法。
  • 简单的介绍了Math、NumberFormat、DecimalFormat等这几个类的几个基本的方法。

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

  • 问题一:
    在看书的过程中我遇到的最大的问题就是在书中有一些黑底的方框中的那些每一类的一些方法的用法,课本上十分简略我就算看了课本上的介绍也无法很好地理解这些方法的应用。
  • 问题1解决方案:
    在这个星期刚刚开始时我还在为这个问题而苦恼,后来娄老师介绍了一款工具(JDK_API_1_6_CN)这个工具解决了我这个问题,在这里我可以找到比较完整的解释课帮助我去更好的理解课本上的例子。

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

  • 问题1:
    在编写课后练习是遇到的问题。在课后练习中它提出的要求我无法解决就例如它说取首字母,当时我就不会。

  • 问题1解决方案:
    当时我的第一反应就是问室友,当然第一次问了之后我就找到最好的解决的方法,第一步就是参考课本上的例子,再参照课本上对方法的介绍照葫芦画瓢,如果还不如意我就去(JDK_API_1_6_CN)查找介绍来寻找最好的解决方法。

  • 这周因为大多是照书上的例子打的代码所以遇到的问题比较少。

[代码托管]https://git.oschina.net/pdds2017/ijp20162324_JavaProgrammer.git

  • 代码提交过程截图:

  • 代码量截图:

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  1. 填空:Linux Bash中,(grep )命令可以进行全文检索。

  2. 填空:Java程序开发中遇到的逻辑错误,命令行中要用(JDB)进行调试。

  3. 判断:Java中, 数字2351l 的类型是 int 。(x) (在这题中老师考察了我们的细心程度,最后一个是字母l而不是数字1.我把它看成是数字1,而最后一个l)表示的就是他的数据类型是long。)

  4. 判断:Java中赋值需要类型相匹配,所以byte i = 3; int j =2; j=i;中的赋值是无法通过编译的。(X)(加宽转换是可以通过编译的,在计算机中转换时多会先转换为int后在转换为其他类型。)

  5. 判断: Java中, 数字235.00的类型是float. (X)(在Java中如果没有说明那么整形数就是int,而浮点数就是Double。)

  6. 填空:~0b1011的十进制值是(-12) (0b表示的是二进制~表示取反,并且是一个字节的取反。)

  7. 填空:Java中使用关键字(final)声明常量。

  8. 填空:Java中(表达式)由一个或多个运算符用操作数组成,用来执行一个计算。

  9. 判断:Java中字面量只能出现在赋值语句的右边。(OK)

  10. 判断:System.out.printf("%b", 11)的输出结果是0b1011 (X)(c/c++中没有boolean类型,在c/c++里面所有整数非0视为true,0视为false;在Java中,所有其他类型转为 boolean都会出语法错误,强制类型转换也不行。;发现整数,小数,不论正负(包括0),只要在规定范围内,都输出true,而输入true也输出true,只有输入false才输出false,这样结论很清楚了,%b是boolean类型,类型正确时,true输出true,false输出false,类型不正确时都输出true.)

  11. 判断: 0.123 == 1.23e-2 (X)(这是科学计数法的表示)

  12. 填空: int i=3; System.out.println(i++);的结果是(3)

  13. 判断:byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)

  14. 填空: int i=3; i+=5; System.out.println(i);的结果是(8)

  15. 判断:double d = 0.1 + 0.1 + 0.1, System.out.println(i);的结果是0.3. (X)(由于存在精度损失的原因结果就不是0.3。)

  16. 填空:System.out.println(52+25+””);的结果是(77)(在引号里面时才能将两个数直接合并那时是字符串,没有引号的时候就是常量。)

  17. 判断:Java中,i = j + k; 等价于 i=ij + k; (X) (I *= j+k应该等价于I *=i * (j+k)。

  • 这周的考试错题非常的多源于对老师发布的教材指导不够重视,没有好好的学习,很多的概念与知识点还比较陌生。下周争取少错一些,一点点的进步吧!

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

这周的学习最主要的就是下去自己主动的学习的时间明显就多了一些,我发现了让自己忙碌起来是减少自己打游戏的时间的最好的方法(我前个学期就想减少了,可是没有做到。)而且我发现自己现在居然会不觉的去想学习英语了(这对于高中以后的我来说基本是一个奇迹了。)。最主要的是我发现了自己在学习的主动性有所提高了。虽然与有些同学相比差距还有些大,慢慢来吧!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 77/77 1/1 14/14
第二周 331/408 1/2 16/30
第三周 315/723 1/3 15/45
第四周 0/723 0/3 0/45

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

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

  • 计划学习时间:15小时

  • 实际学习时间:20小时

  • 改进情况:

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

参考资料

推荐阅读