学号 20162309《程序设计与数据结构》第4周学习总结
教材学习内容总结
本周学习的主要内容是教材第四和第七章的内容,其中第四章的条件和循环和高中时所学的算法比较接近, 理解起来并不是非常困难,主要是几个if的条件语句要仔细辨析,在不同的条件下,实现的操作截然不同,如果赋值语句没有完全准确地输入,就会得到完全不一样的输出结果,例如程序4.2中的if-else语句,对于工作时间的if判断,if-else语句和if语句的不同之处就在于当条件为假时执行命令的情况不同,这一点告诉我学习java和程序设计需要在对比中学习,在对比中发现不同,在不同中对java的概念及本质有了更深入的挖掘。java的很多执行命令及运算语句都是衍生的产物,由一个最根本也是最基础的程序衍生出的更多更高级的程序,这也是java学习中的一大难点。在第七章的学习中,难度还是比较大的,数组的功能比较陌生,如在程序7.1中,用new运算对height进行实例化的过程,提到数组对象实例化为具体值,因为数组在java中是一个确切的对象,在编译的过程中要注意这点。
教材学习中的问题和解决过程
xx1问题 第7章数组的学习中,对对象数组的学习出现了问题,主要是7.7、7.8、7.9三个程序的相互调试过程。
xx1解决方案
教材217页对Tunes程序的分析,结合书上三个程序的关系,CD类的代码的从属关系,需要桑程序同时完成编译才能运行。
代码调试中的问题和解决过程
xx1问题 idea出现多次安装失败,无法正常运行,运行过程中会自动在桌面生成.log文件,打开里面出现乱码,而idea下载后也找不到文件来源。
xx1解决方案 在博客园询问后发现需要调整idea配置文件的大小,将idea的配置文件调整后可以正常运行。
代码托管
代码提交过程截图
代码量截图:
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 填空:使用JDB进行调试时单步执行命令有step和next,我们优先使用(next)。
- 填空:使用JDB进行调试时查看源代码的命令是(list)。
- 判断:多个引用变量可以指向同一个对象(OK)
- 填空:System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”..
- 填空:”Hello”.substring( 0,2 )的值是“He”
- 填空:new Random().nextInt(10)产生的随机数中,最大值是(9)
- 判断:调用Math类中的方法时,不用使用new生成Math对象(OK)
- 填空:DRY是(Don’t Repeat Yourself)的缩写(这个是上课时老师提到的内容)
- 判断:枚举变量是类型安全的。(OK)(教材中的知识点)
结对及互评
在结对互评环节,通过仔细阅读了20162313苑洪铭同学的博客,我发现了很多同学遇到的问题都有相似之处。比如在第七章数组的学习中,需要很多程序联动才能继续运行比如7.5和7.6,还有7.7、7.8、7.9三节,这两个都用到了toString方法进行调节,将多个程序串联,最终完成了编译。同时我们在第四章的学习中都在循环语句中遇到了问题,无限循环语句在设计过程中要格外注意,很容易出现逻辑错误,对编译造成很大的困难。 结对学习对提高我们的学习效率有很大的帮助,让我们更深入地思考,发现问题,解决问题,在寻找他人的不足中发现自己的不足,更好地取长补短,对学习效率地提高大有好处。
点评过的同学博客和代码
http://www.cnblogs.com/yuanhongming/p/6623898.html
其他(感悟、思考等,可选)
随着代码量的逐步增加,学习难度的提升,java带给我的感觉是一种很迷茫的感觉,很多程序看似是用相同的方法编译,其实在语法和结构上有着很大的差异。在java的学习中,失之毫厘,差之千里,不将概念彻底地弄明白,很容易出现难以修复的逻辑错误,这一点充分体现在第四章,在嵌套if语句(nested if)的学习中,辨析好各个变量之间的关系,并用if/else语句进行衔接,是一个条件程序的基本要求。同时,在数组这一节,循环就起到了非常大的作用,与第四节融会贯通,搭建好两节之间的桥梁,对这两节的理解都有很大的帮助。本周的学习量相对而言比较大,代码量也相对较多,但熟练之后学习的效率和速度都有提升。
xxx
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 45/45 | 1/1 | 20/20 | |
第二周 | 300/300 | 1/1 | 18/38 | |
第三周 | 400/400 | 1/1 | 22/60 | |
第四周 | 976/1000 | 1/1 | 30/90 |
计划学习时间:50小时
实际学习时间:55小时