20182310 第四周学习总结

20182310 2019-2020-1 《数据结构与面向对象程序设计》第4周学习总结

教材学习内容总结

1.了解UML这种统一建模语言,学习类名、属性(数据)、操作(方法)之间的关系,初步学会画简单的UML图。

2.了解方法的分析,类由数据声明和方法声明组成,方法是一组编程语句。java程序中的方法是一个类的组成部分。方法声明首部包括返回值类型、方法名及该方法所接受的参数的列表,构成方法体的语句则定义在由花括号定界的范围内。
方法的返回值类型必须与方法声明首部规定的返回值类型一致。

3.类间关系有最基本的三种——依赖、聚合、继承。依赖关系:一个类依赖另一个类的情况称为依赖。一个类的对象含有另一个类的对象叫做继承。

4.this引用。this引用可用于当前正在运行的对象。this引用也常用于区分同名的构造方法参数和实例变量。

5.java接口是一组常量和抽象方法的集合。接口不能被实例化。可以由多个类实现同一个接口,一个类可以实现多个接口。

6.了解软件开发活动的四个基础过程,即确定软件需求,软件设计,实现软件设计,软件测试。了解伪代码、产品代码、测试语句。

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

  • 问题1:toString与return返回的值的区别?

  • 问题1解决方案:toString方法,返回字符串,return返回值(变量)

  • 问题2:UML类图的使用

  • 问题2解决方案:1.连接两个类的实线表示两个类之间的关联关系。2.带箭头的有向关联是单向的。3.类之间面向对象的其他类型关系可用不同的线型和箭头来表示。在之后慢慢的学习之后会更加熟练。


  • 问题3:关于string buffer的加分题疑问

  • 问题3解决方法:capacity返回的不是字符串的长度,而是目前的最大容量。明白了capacity()和length()的关系,前者是最大容量,默认是16,length返回当前长度。同时,在构造StringBuffer时可以指定其capacity

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

  • 问题1:在编写书本第104面Die.java时,编译时出现大量错误。
  • 问题1解决方案:查阅书本,Die类不是Java类库中预定义的。为了能让这个程序进行编译并运行,必须自己定义Die类对象完成的服务。同时编写时,用new运算符创建新的Die类实例时调用了Die类的构造方法。
  • 问题2:git仓库出现问题,在上传代码至码云时出现无法上传的情况。
  • 问题2解决方案:重新在码云上创建一个仓库,重新git到新的仓库
  • 问题3:在IDEA如何统计代码行数?
  • 问题3解决方案:在IDEA下载插件即可。但是本周我还未习惯此用法,仍然使用Linux中的脚本统计代码。

代码托管1

代码托管2

(代码提交一半时,虚拟机出现问题我重新创建了一个码云仓库进行提交)

上周考试错题总结

  • 错题1:

  • 错题1解决方案:局部变量是那些在声明它们的方法中“局部”的变量,也就是说,只能在该方法内部访问它们。 全局变量是可以从任何地方访问的变量,而参数是传递到方法中的变量。原因:没有弄清楚全局变量和局部变量。 实例数据可以视为整个对象的全局变量。

  • 错题2:

  • 错题2解决方案:构造函数应用于“构造”对象,即设置实例数据的初始值。 这不是必需的,但通常可以完成。 对象的界面由实例数据和方法上使用的可见性修饰符决定。

  • 错题3:

  • 错题3解决方案:当方法共享相同的名称时,它们被称为重载。 消息中传递的参数的数量和类型提供了用于调用正确方法的信息。

  • 错题4:

  • 错题4解决方案:length和toUpperCase消息没有参数,子字符串有两个int参数。 对于equals,必须将字符串作为参数传递,将接收消息的字符串与作为参数传递的字符串进行比较。

  • 原因:没有弄懂length和equals的传参数能力

  • 错题5:

  • 错题5解决方案:在A的情况下,值0(一个int)被扩展为双精度。 在C的情况下,执行加法运算得出0.3,然后调用doublefoo。 D中的参数列表是非法的,因为它包含两个双精度参数而不是1。

  • 错题6:

  • 错题6解决方案:声明任何类型甚至为void的构造函数都违反语法,因此您将收到语法错误。

  • 错题7:

  • 错题7解决方案:Java方法还可以返回(引用)对象,例如String。原因:粗心大意,忘记了还有string...

  • 错题8:

  • 错题8解决方案:封装是一个概念,应保护对象免受意外(或有目的)滥用。

结对及互评



评分标准

  • 博客中值得学习的或问题:
    • 学习:之前助教指出我没有正确使用格式,结对同学的格式使用是正确的,需要我多加学习。(上周的博客我已经使用了正确格式,但怎么还是错的呢,我还参考了一下其他同学的博客,是一样的,希望助教指明一下)
    • 问题:代码托管的截图是不是应该截图全部?不是特别清楚要求,但是大家好像都截图了全部。
  • 代码中值得学习的或问题:无
  • 基于评分标准,我给本博客打分:16分。得分情况如下:
  1. 正确使用Markdown语法(加1分):

  2. 模板中的要素齐全(加1分)

  3. 教材学习中的问题和解决过程, 一个问题加1分(2)

  4. 代码调试中的问题和解决过程, 一个问题加1分(2)

  5. 本周有效代码超过300分行的(加2分)

  6. 其他加分:

    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

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

在进入第四周的学习之后,作业量开始增多,同时也增加了相应的课堂实践项目。让我感受到了Java这门课程需要多加练习。学习的也不再局限于书本上的代码,更多是根据博客的自学项目。但是从一开始只能求助于同学。到现在慢慢能够自己解决一些问题,感受到变化还是很开心。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 155/200 2/2 20/20 初步掌握linux命令、java小程序和jdb调试
第二 三周 470/625 2/4 20/40 学会scanner定义的使用,类的定义
第四周 1444/2069 2/6 20/60 下载安装IDEA及其插件,学会TDD调试,编写测试代码
posted @ 2019-09-30 16:20  tursws  阅读(259)  评论(3编辑  收藏  举报