第一周作业

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

教材学习内容总结

  • 大致理解面向对象:java中的class与c中的struct差不多,但java的类,我们可以控制他的空间,他的构造和销毁,几乎可以控制整个运行过程,不是系统帮我们定义定义的而是自己定义的对象运行。
  • 初步熟悉linux基本操作,熟悉拜托鼠标,单纯使用键盘在终端输入命令行进行操作,懂得使用ubantu将虚拟机上的代码上传至码云上,学会在ubantu上跑动java 代码。
  • 初步学习java编程,会编写简单的java程序。

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

  • 问题1:第一周作业_第1张图片

  • 问题1解决方案:后面了解到,在java中,文件的命名必须与java开头的“类”名称相同,次文件的类名称为“HelloJava”,所以文件的名字也必须要以此为开头命名。第一周作业_第2张图片

  • 问题2:第一周作业_第3张图片

  • 问题2解决方案:java编程时,打印的字符串过长无法放下时,不可以占多行(这里提示一下,vim的编辑器当在小穿孔模式时,看似是可以占两行至三行来打印长字符串是因为其只是把一行缩减了起来而已,读者可以尝试把vim点击到最大窗口模式观看),解决方法是将要打的字符串一分为二,中间用一个“+”号连接起来。!第一周作业_第4张图片(并且我们的标识符不可以以数字为开头,即123123不可以用来命名一个类)。

  • 问题3:代码运行时系统指出“b = scan.number”有问题
  • 问题3解决办法:这个问题是个很愚蠢的问题,是因为前面没有理解清楚,随后发现其实在scanner类里的对象都是固定的,并且各自都有着自己的用法,Nextline是“将当前行中所有的输入作为字符串返回”,int nextInt“是将下一个输入按整型返回”........。

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

  • 问题1:面向对象的理解
  • 问题1解决方案:面向对象的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计。将类比作设计图,设计图定义了房子的特征,而有了设计图就可以建造许多房子,房子就是对象,房子的特点就是类,一个类可以对应着多个对象,所以我们定义了类就可以创建对象。(本人也只能大致了解,具体还要深入学习)
  • 问题2:简单java程序中“System.out”的意义
  • 问题2解决方案:System.out表示的是输出文件,中文意思可以理解为系统输出,对象是out,类是System,printlen就是他们提供的一个服务,我们就是调用这个方法,把信息发送给对象,请求输出文本信息。

代码托管

第一周作业_第5张图片

上周考试错题总结

上周无错

结对及互评!

  • 博客中值得学习的或问题:
    • 博客中指出c和java的不同太过于表面,没有举出例子深入解析,但是点出了一开始我们学习java都需要面对的问题:什么是面向对象?它和我们学的c有什么不同?
    • 博客中说出装机的时间比学习java的时间还多,此情况属实,能够如实汇报,也是体现了博客的一种“真诚”
    • 博客感想体会深刻,能够说出心里真实想法。
  • 代码中值得学习的或问题:
    • 博客中的问题“漏打代码”说的太过于表面,虽然说也是个“问题”,但是不是个“好问题”,应该说的更详细点,哪些代码容易打错,哪些是我们初学者要注意的。

    • 此模板中加入了图片解析,能够让我也才遇到分析代码问题的过程中,值得称赞
  • 基于评分标准,我给本博客打分:15分。得分情况如下:
    正确使用Markdown语法(加1分)
    模板中的要素齐全(加1分)
    周五前发博客的加1分
    感想体会不假大空的加1分
    进度条中记录学习时间与改进情况的加1分
    有动手写新代码的加1分
    课后选择题有验证的加1分
    代码Commit Message规范的加1分
    错题学习深入的加1分
    点评认真,能指出博客和代码中的问题的加1分
    结对学习情况真实可信的加1分
    教材学习中的问题和解决过程, 三个问题加1分
    代码调试中的问题和解决过程, 一个问题加1分
  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182334
    • 结对照片
      第一周作业_第6张图片

    • 结对学习内容
      • 如何安装脚本
      • 如何将ubantu上的代码上传至码云
      • 学习java基础代码

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

  • 之前虽然学过了c,这次对比发现c与java虽然有着很多相同之处,但是java比c更严谨,对输入和输出管理很严格。
  • java相对于c来说引入了一个面向对象的概念,同样的输入,在c中只是一个单纯简单的“scanf”,但在java里就变成了一个scanner类,里面有着不同的输入读取类型
  • 经过一段时间的编码,我更能感受到了java语言更接近自然语言,更接近自然语句,对于我们这些学生来说更容易理解
  • 用c语言,就像是做菜,必须要先买肉,买调料,自己生活煮饭,最后才能生出一道菜。而用java,更像是直接去餐馆,直接点菜就好了。就像是c中的数组,想算数组的指针,数组的首指针,数组的尾指针,我们就要写三个函数,但是在java中只要用一个类里面的成员函数,就不需要我自己打函数了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 200/200 3/3 30/30

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

  • 计划学习时间:20小时

  • 实际学习时间:30小时

  • 改进情况:学习效率太过于低下,下周应该有所提高

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

你可能感兴趣的:(第一周作业)