• 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没有配置推送目标导致的问题

    • 问题2解决方案:
      1.在码云创建仓库,linux中git clone建立连接
      2.注意在clone出来的文件夹内创建目录放置代码,否则无法上传
      3.输入正确的码云用户名(cold_impact)及密码
      git命令理解:
      git init 创建本地版本库;
      git clone 与远程仓库建立联系;
      git add .将当前目录下文件添加到暂存区;
      git commit将文件从暂存区提到仓库;
      git push 上传到远程仓库。

    • 问题3:升级vim出现E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

    • 问题3解决方案:源的问题

    • 问题4:jdb -classpath .:./bin HelloJDB的含义?

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

    代码托管

    上周考试错题总结

    • 错题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)

    点评过的同学博客和代码

    • 本周结对学习情况

    • 结对照片

    • 结对学习内容

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

    其他

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

    学习进度条

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

    参考资料

  • 相关阅读:
    Codeforces Round #665 (Div. 2) C. Mere Array 数论,思维
    Codeforces Round #665 (Div. 2) B
    ZOJ
    HDU-2158 最短区间版大家来找茬 模拟 尺取
    HDU-1082 排列组合 普通生成函数 细节
    HDU
    poj-1651 multiplication puzzle(区间dp)
    hdu-1231 连续最大子序列(动态规划)
    poj-2488 a knight's journey(搜索题)
    hdu-2063 过山车(二分图)
  • 原文地址:https://www.cnblogs.com/lengchong/p/11489939.html
Copyright © 2020-2023  润新知