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

正文

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

教材学习内容总结

教材第二章

1.字符串的输入输出:Scanner类与print、println方法。
new运算符创建新对象;next方法读入下一个输入;System.in对象默认代表键盘输入。
2.+运算符用法取决于操作的数据类型:加法/连接字符串
3.java有8种基本数据类型:4种整型、2种浮点,字符及布尔数据类型。其中boolean型仅有ture和false两个值,不可与其他数据类型混用,一般用于if条件语句判定。java使用16位unicode字符集来表示字符数据。
4.java是强类型语言,可以通过类型强转获得期望数据的类型。

教材第三章

1.对象:创建对象、对象引用变量(一个对象的所有引用变量都丢失就变成垃圾;一个对象可以有多个引用变量;引用变量赋值涉及到引用对象的权限问题)、别名、对象与类。
2.几个类:String类、Random类、Math类、NumberFormat类和DecimalFormat类。
其中Math类中所有方法都是静态方法(直接使用类名,无需实例化对象);NumberFormat类不能使用new来实例化对象,只能用类来调用静态方法创建对象,方法是format()。
3.包与类库:package和API(Application Programming Intefaces)
4.枚举类型(enum):枚举类型取值需符合标识符取名规范,声明结尾不需要分号;作为一种特殊的类,在不能定义在方法中。
5.包装类:把基本类型“包装”成对象。

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

  • 问题1:什么是构造方法?
  • 问题1解决方案:构造方法是与类同名的特殊方法,通过它完成对象的创建及初始化。当调用一个类实例化对象时,会自动调用构造方法。构造方法和其他方法一样也可以重载。
  • 问题2;如何调用对象中的方法?
  • 问题2解决方案:通过点运算符来访问一个类的方法。方法不管带不带参数必须使用一堆括号。
  • 问题3:枚举类型好像挺鸡肋的,到底有啥用?
  • 问题3解决方案:枚举类型作为一个类,在里面添加方法可以实现各种功能,使用实例有个博客写的挺全的,我放在了博客最后。网上用法好多,有些还看不懂,目前我的理解是枚举类型可以当二维数组存储数据用,和结构体也有点像。

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

  • 问题1:出现git push error:无法推送一些引用

  • 问题1解决方案:在该目录下使用git push -u origin master

  • 问题2:如何使用DecimalFormat类补齐0?(直接使用“0000”会导致所有输出都为0)

  • 问题2解决方案:发现是在类型强转的时候忘了打括号,随机数只能产生0-1(不含1)的浮点数,被强转成int型只能输出0

  • DecimalFormat的使用方法没有错误,但还是区分一下:实际位数比格式化位数多时不变,0和#占位符都是这样;实际位数比格式化位数少时,#直接空着,0会把不足位置补全0。

  • 问题3:

  • 问题3解决方案:Math里面的随机数方法是random不是Random,注意区分大小写。

代码托管

上周考试错题总结

  • 错题1:When executing a program, the processor reads each program instruction from (当执行一个程序时,处理器从___读取每个程序指令)
    A .secondary memory (storage) (辅助存储器(存储))
    B .the Internet (互联网)
    C .registers stored in the processor (储存在处理器中的寄存器)
    D .main memory (主存储器)
    E .could be any of these (可以是以上这些中的任何一个)

  • 反思:正确答案:D。程序在执行前从辅助存储器加载到主存中,处理器从主存中读取指令。导论内容没记住。

  • 错题2:Which memory capacity is the largest?
    A .1,500,000,000,000 bytes (1,500,000,000,000个字节)
    B .100 gigabytes (100千兆字节)
    C .3,500,000 kilobytes (3,500,000千字节)
    D .10 terabyte (10太字节)
    E .12,000,000 megabytes (12,000,000百万字节)

  • 反思:正确答案:E。

  • 错题3:The ability to directly obtain a stored item by referencing its address is known as (通过引用地址直接获得存储项的能力被称为___)
    A . random access (随机存取)
    B . sequential access (顺序存取)
    C . read-only access (只读访问)
    D . fetch access (获取访问)
    E . volatility (易变性)

  • 反思:正确答案:A。随机存取就是直接存取。

  • 错题4:The main method for a Java program is defined by (Java程序中的主方法是由___定义的)
    A .public static main( )
    B .public static main(String[ ] args);
    C .public static main(String[ ] args)
    D .private static main(String[ ] args)
    E .the main method could be defined as in A, C or D but not B

  • 反思:正确答案:C 我选了E。A错在没有参数,B错在多了分号,D的private导致没有权限执行,声明无效。

  • 错题5:Which of the following characters does not need to have an associated "closing" character in a Java program? (在一个Java程序中,下面哪个字符不需要有与之相关的“结尾”字符?)
    A .{
    B .(
    C .[
    D .<
    E .all of these require closing characters (以上都需要结尾字符)

  • 反思:正确答案:D 我选了E。忽略了<作为算术运算符的用法。{用来打开块,(用来打开表达式,[用于数组索引,都需要结尾字符。

  • 错题6:Java is an example of a(n) (Java是一个___的例子)
    A . machine language (机器语言)
    B . assembly language (汇编语言)
    C . high-level language (高级语言)
    D . fourth generation language (第四代语言)
    E . both C and D (C和D都是)

  • 反思:正确答案:E。
    书上写第四代语言包含一些特殊工具,有的可以与数据库进行交互。其中java就能与数据库进行交互。

结对及互评

点评

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

点评过的同学博客和代码

感悟

1.看课本的过程中要不断的问问题,追根究底把每一个知识点的用法、用途搞清楚,这样才能在实际写代码过程中得心应手,而不是用到哪书就翻到哪。
2.注重专业英文单词的积累,不然考试题目都要看半天还看不懂,其实大概对一些名词留下印象,考试翻书会快很多。

学习进度条

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

参考资料

posted @ 2019-09-22 15:45  冷冲  阅读(266)  评论(2编辑  收藏  举报