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

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

教材学习内容总结

在本周的学习内,我对于Linux的基本命令行还是有些不熟悉,其次上机次数较少,打Java代码时感到吃力。在自增自减方面还有很长一段路要走。在练习的过程中,我发现自己在对于基本概念理解不清,比如说数据转换,中间涉及到加宽转换和缩窄转换,转换过程中有浮点型、整型等等。
让我记忆犹新的还是虚拟机崩导致装机,Linux没学多少,装机倒学了不少!

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

  • 问题1:不会编译和运行代码。
  • 问题1解决方案:询问同学得知是javac命令编译,Java命令运行。

  • 问题2:不理解Java和C语言之间的区别
  • 问题2解决方案:思考两者之间的关系,两者相同的地方:语法类似,在敲代码的过程中,可以明显感觉到C语言和Java的整体框架很相似,语法也比较类似。不同的地方:Java是面向对象,而C语言是面向过程,相对来说,c要更基础且本质一点。并且两者执行效率不同,C语言执行效率高,Java执行效率相比于c低。
  • 问题3:不是很明白自增自减。
  • 问题3解决方案:上网搜索习题进行练习,琢磨出其中的规律:例:a=1,b=a++是先附a值再加1,这时b=1,a=2;a=1,b=++a是先对a加1,再赋值到b,这时b=2,a=2。
    下面是我在练习时记录下来的:

  • 问题4:在教材中我发现scanner很类似于C语言中得数组,那么我以我的理解来进行学习。
  • 问题4解决方案:搜索资料发现,C语言中的scanf和就Java中的scanner类,都是表达输入的意思,不过scanner需要写个类似于头文件的东西叫import。和我理解的数组并不一样,所以我立马纠正自己的想法。
  • 问题5:不明白类似于C语言头文件一样的import是啥意思。
  • 问题5解决方案:搜索资料,使用import时先说明会用到那些类别。接着我们就能在代码中只用类名指定某个类,也就是只称呼名字,不称呼他的姓。

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

  • 问题1:漏打或打错代码
  • 问题1解决方案:推翻从头再来,学习快捷键预防这种情况发生,比如上键和下键,都能恢复上一步或者上一步的下一步的操作,带来了很多便利。
  • 问题2:在使用git上传码云时,代码经常搞混淆:
$ git add . 
$ git commit -m "/*备注信息*/" 
$ git push origin master 

这里的-m或者在编译时的常量,我经常不知道该用哪些,也经常会漏打。

  • 问题2解决方案(http://c.biancheng.net/view/805.html)这里推荐一个网址,很好的解决了我的问题,基本操作也得到了巩固,希望能使更多人受益。

  • 问题3:在使用gdb调试时,总是出现以下情况:

  • 问题3解决方案:随着练习量的增加,慢慢发现要想用jdb调试,必须要进入到被调试文件的目录里,并且是存放class的目录,否则会出现上图所示的情况,那么我将其改到正确目录下,这样一来调试成功。

代码托管

上周考试错题总结

    1. 填空:在 Linux 系统里, (root) 账户拥有整个系统至高无上的权利。自己只知道sudo命令会使用户成为最高管理者,但并不了解root的用户。在安卓手机上,我经常听到root,知道root代表最高权。
    1. 判断:Linux Bash中,强制删除test文件的命令是(rm -f test )。这里我只知道有rm的命令,有时会漏掉-f,在我练习的过程中,漏写类似于-f这样的常量情况很多,这些代表了不同的含义。
    1. .填空:Linux Bash中,(cheat find )命令可以查年find命令的使用示例。我写的是find,后面进行baidu搜索之后发现有很多原理。

结对及互评

结对会晤照片:

结对对象博客的优点:

  • 发现的代码调试问题都很具体,解决方式也很得当。
  • 有图像,能让我很清楚的看到他出现的问题在哪。

结对对象博客的缺不足:

  • 在教材学习过程中,发现的问题都是概念性问题,没有实际操作的情况,应当结合实际操作,更能深入了解自己发现的问题。

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182321

    • 结对照片

    • 结对学习内容

      • java和Linux的一些基本操作
      • 如何排版Markdown
      • 共同学习如何git上传码云
      • 学习如何用gdb调试程序
  • 基于评分标准,我给本博客打分:13分。得分情况如下:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
    • 两个教材中的问题加两分
    • 三个代码中的问题加三分
    • 正确使用Markdown加一分
  • 上周博客互评情况

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

  • 在学习Java的过程中,Linux的学习一点都不能少,毕竟我们是在Linux的基础上学习Java,无论是基本操作,还是快捷键,又或是基本概念,都需要我们去了解,去实践。
  • 在看教材的过程中,我发现Java和C语言有相似的部分,比如说基本框架一样,都有输入输出的语句,C语言中解释说明的语句在Java中同样适用,所以在学完c之后再学Java,会感觉到莫名的熟悉感。
  • 在这一周一来,我发现自己还是缺乏练习,对于基本代码还是不够熟悉,在 后面的学习里,我得具体到每一天,仔细安排学习任务。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 20000行 30篇 400小时
第一周 212/212 2/2 17/17
  • 计划学习时间:14小时

  • 实际学习时间:17小时

  • 改进情况:下周的学习中,应该加强难度,积极预习下一周的任务,及时写完博客,及时记录。

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

参考资料

原文地址:https://www.cnblogs.com/cistineup/p/11508294.html