• 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小时

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

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

    参考资料

  • 相关阅读:
    [转][黄忠成]Object Builder Application Block (1)
    C#.NET里面抽象类和接口有什么区别
    MVC中AOP思想的体现(四种过滤器)并结合项目案例说明过滤器的实际用法
    NHibernate之(24):探索NHibernate二级缓存(下)
    使用 ES (elasticsearch) 搜索中文
    elasticsearch 中文 term & completion suggester
    uwsgs loading shared libraries: libicui18n.so.58 异常处理
    tensorflow with gpu 环境配置
    Java 多线程执行
    SpringBoot log4j2 异常
  • 原文地址:https://www.cnblogs.com/cistineup/p/11508294.html
Copyright © 2020-2023  润新知