20172322 2017-2018-2 《程序设计与数据结构》第四周学习总结

20172322 2017-2018-2 《程序设计与数据结构》第四周学习总结

教材学习内容总结

  • 学会了简单的自编类来实现简单的自编类要求。
  • 了解了类中的属性成为实例变量。
  • 了解了UML图的使用方法。
  • 了解到封装由private可见性修饰符来实现。
  • 了解到return用于返回调用方法中的调用语句。
  • 了解了实参与形参的差别。
  • 了解了 软件开发活动主要包含下四个基本的开发过程:确定软件需求、软件设计、实现软件设计、软件测试。
  • 了解了静态方法可以通过类名称来调用,不必实例化对象。例如Math类。
  • 了解了类间关系有三种:依赖、聚合、继承。
  • 学会了一些简单接口的使用。例如Comparable。

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

  • 问题1:在最初老师上课时并没有预习书上内容,导致书上概念很多不清晰。
  • 问题1解决方案:在之后的时间里花了大量时间来细读书上类容,才使得对部分内容逐渐清晰。
  • 问题2:在最开始按照按照书上的代码敲入,没有理解其中的含义,例如为何要使用return来返回值,void的用法又是什么这些都不是很了解。
  • 问题2解决方案:认真阅读教材,并且结合自己之前敲入的代码来理解书上的内容,在一次细读后豁然贯通。知道了没void存在的声明都是非静态的,均需要使用return来返回,否则会导致错误的发生。

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

  • 问题1:在IDEA中敲入的代码如果上传至码云后再在Linux中git pull会导致程序在Linux中无法运行。
  • 问题1解决方案:在IDEA编辑时,IDEA会将程序自动打包到文件夹下,在Linux中他们因为存在pakege而无法运行,把pakage那一行变为注释便可。如图!输入图片说明输入图片说明
  • 问题2:对IF方法的不了解导致部分课后作业无法完成。
  • 问题2解决方案:得到了助教张旭升学长的帮助,使得我对IF的使用有了一定的了解。如图。
    输入图片说明

代码托管

输入图片说明

上周考试错题总结

  • 第一题:输入图片说明
  • 第一题解决方案:Java变量包含对实例类(包含值和/或附加引用)的值或引用。
  • 第二题:输入图片说明
  • 第二题解决方案:如果两个变量都设置为null,那么该对象不会被任何变量引用(通过任何别名)
  • 第四题:输入图片说明
  • 第四题解决方案:编译器能够检测到尝试使用未初始化的变量,在这种情况下它会产生语法错误。如果诸如使用编译器的转义检测,则在使用时发生运行时错误。
  • 第七题:输入图片说明
  • 第七题解决方案:翻译以后没有看懂题意,导致理解错误,这道题没有问题。
  • 第九题:输入图片说明
  • 第九题解决方案:在Random类中nextFloat()在[0,1)范围内的数是非常多的浮点数,而nextInt()在[0,1)范围内只存在0一个整数。
  • 第十一题:输入图片说明
  • 第十一题解决方案:s1没有空格!!!
  • 第十五题:输入图片说明
  • 第十五题解决方案:所有随机数发生器的效率是相同的。Random生成器比Math.random的优点是包括所有其他属性。
  • 第二十三题:输入图片说明
  • 第二十三题解决方案:他们的含义虽然不同但是他们输出的结果是一样的 😵
  • 第二十七题:输入图片说明
  • 第二十七题解决方案:导入语句只能与一个*(通配符)一起使用。如果您还需要导入包的所有辅助级别,则必须明确写出它们:
    import package.A;
  • 第二十九题:输入图片说明
  • 第二十九题解决方案:C程序使用C printf函数进行输出。Java的printf方法紧跟在C printf函数之后,所以C输出语句可以非常容易地转换成Java。
  • 第三十题:输入图片说明
  • 第三十题解决方案:题目所说的对于大多数包装类都是对的,但int(Integer)和char(Character)是错误的。

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

  • 感悟:第一次一周学两章的内容,外加这两张的内容都不简单,自编类的难度比前几章来说难度陡升,导致在本周的学期初期有点爆炸,但是经过之后的认真学习发现了初期的问题都不是问题,认真学习就能解决问题。另外:少玩游戏!
  • 思考:自编类对于新手来说有一些难度,我们现在编的代码只是为了完成任务,并未考虑到代码优化之类的事情,然而并不是程序能够运行就万事大吉了,我们还有很长的路要走。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 242/242 1/4 13/13 增加了对Java的兴趣
第二周 297/539 1/5 15/28 发现目标并没有想象中那么难
第三周 315/854 2/7 18/46 突然发觉JAVA的难度不小
第四周 1269/2123 1/8 50/96 Java难到哭,但是有信心击败他!
  • 计划学习时间:40小时

  • 实际学习时间:50小时

  • 改进情况:上周博客提到的问题已经理解得差不多啦!

参考资料

posted @ 2018-04-04 21:00  zhangyeye233  阅读(173)  评论(2编辑  收藏  举报