• 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

    参考资料

  • 相关阅读:
    4.再来看看逆向——OD的简介
    3.资源里加个混淆
    反编译python打包的exe文件
    2.释放资源那些事
    1.恶意软件中的防双开
    windbg源码驱动调试 + 无源码驱动调试
    [转]当勒索病毒“不图财”时会图什么?
    勒索病毒加密过程分析1——简易加密型(坏兔子病毒)
    通过驱动杀死那个进程
    前端学习笔记 day14 模拟滚动条
  • 原文地址:https://www.cnblogs.com/lengchong/p/11567746.html
Copyright © 2020-2023  润新知