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的目录,否则会出现上图所示的情况,那么我将其改到正确目录下,这样一来调试成功。
代码托管
上周考试错题总结
-
- 填空:在 Linux 系统里, (root) 账户拥有整个系统至高无上的权利。自己只知道sudo命令会使用户成为最高管理者,但并不了解root的用户。在安卓手机上,我经常听到root,知道root代表最高权。
-
- 判断:Linux Bash中,强制删除test文件的命令是(rm -f test )。这里我只知道有rm的命令,有时会漏掉-f,在我练习的过程中,漏写类似于-f这样的常量情况很多,这些代表了不同的含义。
-
- .填空:Linux Bash中,(cheat find )命令可以查年find命令的使用示例。我写的是find,后面进行baidu搜索之后发现有很多原理。
结对及互评
结对会晤照片:
结对对象博客的优点:
- 发现的代码调试问题都很具体,解决方式也很得当。
- 有图像,能让我很清楚的看到他出现的问题在哪。
结对对象博客的缺不足:
- 在教材学习过程中,发现的问题都是概念性问题,没有实际操作的情况,应当结合实际操作,更能深入了解自己发现的问题。
点评过的同学博客和代码
- 本周结对学习情况
-
结对照片
-
结对学习内容
- 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小时
-
改进情况:下周的学习中,应该加强难度,积极预习下一周的任务,及时写完博客,及时记录。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)