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

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

教材学习内容总结

  • 简单java程序是有哪些部分组成的
  • Java程序好的排版布局是怎样的
  • 程序开发与软件开发的过程

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

  • 问题1:保留字,标识符,关键字的区别
  • 问题1解决方案:
    • Java关键字(KeyWord): 对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构。
    • Java保留字(Reserved Word):为Java中有特殊含义的标识符,只能按照预先的方法来使用。
    • const 、goto为 预留的关键字,现在还没有用到,但在升级版本中可能作为关键字被使用。
    • Java标识符:是程序员用来命名变量,方法,类或标签的单词。关键字和保留字不能用作标识符。标识符必须由字母,美元符号($)或下划线(_)构成,且开头不能为数字。
    • java中共有53个关键字,其中有两个保留字(goto和const)。关键词是其含义由编程语言定义的词。 Java关键字和保留字:

image

  • 问题2:public class 、public static void main 与System.out. 的作用
  • 问题2解决方案:
    • public class:语法规定,声明定义类需在类名前添加class关键字。
    • public static void main:public 表示公有方法,任何类创建的对象都可以访问该方法。
      static 表示静态方法,即该方法会在类加载的时候同时加载到内存,不会在创建对象的时候重复创建。
      void 表示函数没有返回值。
      main 是函数名,在java里,程序的入口函数要命名为main。
    • System.out.:其实System是一个类。
      而out就是System里面的一个数据成员(也称为字段),被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。
      而out又是一个java.io.PrintStream类的对象,所以out可以调用类里面的方法,println()就是该类里的一个方法,它的作用就是用来向控制台输出信息的。

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

  • 问题1:上传码云和调试代码时,对那些命令只是死记硬背,所以容易记不起来。
  • 问题1解决方案:
    • git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。 为了方便用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都在版本库之内。
    • git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id。
    • it push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,将本地的分支推送到远程主机。
  • 问题2:jdb调试时,出现调试文件无法找到的情况。
  • 问题2解决方案:通过 cd 文件所在目录 调整路径,再调试就行了
  • 问题3:在编译新程序时出现了编译错误,因为我装的时是英语的,所以根本看不懂:
  • 解决方案:
    • 首先我切换了系统的语言为中文。
    • 然后再次运行出现了:
    • 最后通过修改java文件名,由数字改为字母就好了
    • 通过上网查询才知道,原来 文件名与标识符命名规则一样:可由任意字母,数字,_,$组成,但开头不为数字。

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1:Ctrl+a快捷键的作用是(将光标移至输入行头,相当于Home键)
    • 对快捷键记忆还不够,通过查询才知道的。
  • 错题2:使用cat命令带行号查看test内容的命令是(cat –n test)
  • 错题3:使用echo查看环境变量PATH值的命令是(echo $PATH)
  • 错题4:使用tar命令把home目录打包成home.tar的命令是( tar -cf home.tar ~)
  • 错题5:ls . | sort 命令的功能是( 显示当前目录内容并排序 )
  • 错题6:使用wc统计hello.c和main.c共有几行代码的的命令是( wc -l hello.c main.c )
  • 错题7:把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls > ls.txt)
  • 错题8:(cheat find )命令可以查年find命令的使用示例
    • 对linux操作不熟练,命令记忆不深刻。
  • 错题9:Linux Bash中,(touch test)命令可以创建一个空白文件test。
    -将mkdir与touch命令弄混了,mkdir是创建一个新的文件夹,而touch则是创建一个新的文件。

结对及互评

  • 博客中值得学习的或问题:

    • 对上周的错题进行了仔细的更正和课后复习,我对上周考试题的复习较为草率。
    • 博客撰写详细,有理有据。
    • 在撰写博客的过程中可以加入更多自己的理解。
  • 代码中值得学习的或问题:

    • 代码风格良好,便于阅读。
  • 基于评分标准,我给本博客打分:13分。得分情况如下:

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程(2分)

  4. 代码调试中的问题和解决过程(2分)

  5. 本周有效代码超过300分行的(加0分)

  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

  • 本周结对学习情况
    • 结对同学学号2332
    • 结对照片


    • 结对学习内容
      对上周及本周的考试内容进行了探讨,并通过上网查询等方式深入分析,直到将问题理解。
      一起制作博客,markdown,遇到问题相互询问,并解决。

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

  • 感觉最近打代码,一直是在模仿,许多语句的意思和具体用法还不清楚。还有就是打的代码重复过多(比如System.out.println),想要简化却不知道怎么做
  • 程序的错误有时就是很细小,但是如果找不到,就会白费大量时间在没用的地方,反复检查,但如果静下来,跳出程序,整体一步步分析,才能更快发现问题(留下心酸的泪水)。
  • 第一周主要在忙着装系统,熟悉操作,希望接下来能踏踏实实的打更多的代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行
第一周 119/119 3/3 20/20
第二周 -/300
第三周 -/800
第四周 -/1300
  • 计划学习时间:25小时

  • 实际学习时间:20小时

参考资料

posted @ 2019-09-11 18:44  hp12138  阅读(229)  评论(4编辑  收藏  举报