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

正文

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

教材学习内容总结(教材第一章)

1.计算机系统组成。
2.Java程序基本结构,包括注释、类、保留字及命名规范等。
3.程序开发的具体过程、环境及错误分析。
4.解决问题或软件开发的基本步骤,包括理解需求、做出设计、实现设计、调试。
5.理解面向对象程序设计,包括属性、方法、封装等概念。

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

  • 问题1:面向对象与面向过程的区别?
  • 问题1解决方案:百度搜索
  • 个人理解:面向过程侧重于解决问题过程的步骤,用函数实现;面向对象侧重于通过建立对象描述解题步骤,以功能来划分问题而不是步骤,实现同一功能的部分用一个类定义。
  • 问题2:类和对象的不同?
  • 问题2解决方案:参考《head first java》

    类是对象的蓝图,会告诉虚拟机如何创建各种类型的对象。根据某类创建出的对象都会有自己的实例变量(书中定义是对象本身已知的事物,我觉得这是属性的另一种说法)。
    举例来说,你可以使用按钮类来创建出许多大小、颜色、文字等不同的按钮。
    对象就好像通讯簿中的一笔数据。通讯簿的每张卡片都有相同的空白片段(实例变量)。填入新的联络人就如同创建新的示例变量,填入卡片的数据代表联络人的状态。
    这个卡片类上的方法就是你会对卡片做的事情:gettel()、changeAddress()等。
    所以每张卡片可以执行相同的动作,取出的结果应该是每张卡片各自独立的。

  • 个人理解:类是一种模板,对象是基于这个模板、框架搭出的实体。类应该是包含多种同一类对象的共同之处,对象在类之外还有自己的衍生。

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

  • 问题1:出现E212错误:can't open file for writing
  • 问题1解决方案:错误原因是没有权限保存修改文件
    sudo vim files
    反思:使用root权限修改配置文件或在配置文件夹内创建文件并编辑
  • 问题2:git push没有配置推送目标导致的问题
    1779545-20190909094106303-504368283.png

  • 问题2解决方案:
    1.在码云创建仓库,linux中git clone建立连接
    2.注意在clone出来的文件夹内创建目录放置代码,否则无法上传
    3.输入正确的码云用户名(cold_impact)及密码
    git命令理解:
    git init 创建本地版本库;
    git clone 与远程仓库建立联系;
    git add .将当前目录下文件添加到暂存区;
    git commit将文件从暂存区提到仓库;
    git push 上传到远程仓库。
  • 问题3:升级vim出现E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
    1779545-20190909093957222-2007894807.png

  • 问题3解决方案:源的问题 1779545-20190909094309628-762281437.png

  • 问题4:jdb -classpath .:./bin HelloJDB的含义?
  • 问题4解决方案:百度搜索
    jdb -classpath [目录]:[搜索路径]:classpath是含有命令搜索路径的变量选项

代码托管

1779545-20190909094254282-717643205.png

上周考试错题总结

  • 错题1:Linux Bash中,(cheat find )命令可以查年find命令的使用示例。
  • cheat能够查询命令的使用实例,man虽然更为详细,可查询的命令更全,但是没有实例。
  • 反思:学习过程中有偷懒,觉得help、info和man命令足够了,没有深入思考每个命令独特之处。

结对及互评

点评

  • 博客中值得学习的:
    • 教材学习内容简要明了;
    • 针对自己的问题与错题写反思;
  • 问题:
    教材学习内容部分希望能写出自己的理解与学习侧重点。
  • 基于评分标准,我给本博客打分:14
  • 得分情况如下:
  1. 正确使用Markdown语法(加1分)
  2. 模板中的要素齐全(加1分)
  3. 教材学习中的问题和解决过程(加2分)
  4. 代码调试中的问题和解决过程(加4分)
  5. 其他加分(加6分)
    • 进度条中记录学习时间与改进情况(1)
    • 感想,体会不假大空(1)
    • 有动手写新代码(1)
    • 错题学习深入(1)
    • 点评认真,能指出博客和代码中的问题(1)
    • 结对学习情况真实可信(1)

点评过的同学博客和代码

  • 本周结对学习情况
  • 结对照片1779545-20190909094224428-1808680758.jpg

  • 结对学习内容
    • 讨论字节码在Java程序编译执行过程中的作用。机器码是电脑CPU可直接读取的数据,但不同CPU有不同机器码与之对应。字节码是源代码转换为机器码的中间状态,在运行时通过JVM(JAVA虚拟机)做一次转换生成机器指令,因此能使Java程序更好的跨平台运行。
    • 互帮互助完成vim配置,互对讨论教材课后练习答案。

其他

感悟:
1.java和c语法细节还是有不同之处,本身也是不同类型的语言,两者的理解方式不同,不能因为学过c而大意。学习高级语言的基本知识,同时弥补了一些学c留下的知识漏洞,比如高级、汇编、机器语言的不同,了解了大多数编译器把java编译成字节码而非直接译成机器语言的原因等。
2.学c是在集成开发环境下,我们只需要操心代码怎么写,编译器会帮我们做好其他。但是这学期学java,要学会在linux环境下自己学会写代码,编译和调试代码,感觉学到了更底层的知识,对程序设计有了更直观的感受。
3.学习Java一定要细心,该按照博客步骤来的地方不能随意,注意区分大小写等规范。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标10000行30篇400小时
第一周246/2002/230/30初步掌握linux命令、java小程序和jdb调试

参考资料

转载于:https://www.cnblogs.com/lengchong/p/11489939.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值