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

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

教材学习内容总结

  • 条件语句和循环语句的使用
  • 输入语句和输出语局应用
  • 基本数据类型的转换和应用
  • 各种类的使用方法,以及格式化输出的方法。
  • 基本的类的编写

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

  • 问题1:scanner输入时用short nextShort()输入时出现异常。
  • 问题1解决方案:输入时应与前一项自己指定的数据类型一样才可以。
  • 问题2:在应用impoet时使用import Java.util.*时并不会是添加我需要使用的包。
  • 问题2解决方案:后来发现时java.lang*才会将所有的包都自动映入每一个程序,但最好在引用一个包时使用import的单独声明。
  • 问题3:使用枚举类时按照书上的操作cone3.NAME进行调用,但是发现无法输出。
  • 问题3解决方法:在声明后,在计算机内部每一个枚举类型都保存为一个整数值,所以我一卡使用double类型声明,且使用小数会损失数据。

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

  • 问题1:在编译时发现如图----找不到类的错误。
  • 问题1解决方案:我在编写时将setpogyrightdate自己设定的方法当作类进行运算,所以找不到类
  • 问题2:找不到book的变量。
  • 问题2解决方案:是因为toString在使用类时应该(新变量名).toString()。
  • 问题3:使用如图文件进行测试时发现无法返回数值
  • 问题3解决方法:没有进行测试值输入,而是进行Scanner输入;其次return返回值在循环里,而这个循环又没有必要,不是合格程序。

代码托管

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

上周考试错题总结

  • In Java a variable may contain
    A
    .
    a value or a reference
    B
    .
    a package
    C
    .
    a method
    D
    .
    a class
    E
    .
    any of the above
    解析:英文不过关,理解错了reference的意思。java的变量包含对实例类的值或引用。
  • If two variables contain aliases of the same object then

    A . the object may be modified using either alias

    B . the object cannot be modified unless there‘s but a single reference to it

    C . a third alias is created if/when the object is modified

    D . the object will become an "orphan" if both variables are set to null

    E . answers A and D are correct

    解析:别名提供了一种可以修改对象的方法。如果这两个变量被设置为null,那么对象不被任何变量引用(通过任何别名)

  • An "alias" is when

A . two different reference variables refer to the same physical object

B . two different numeric variables refer to the same physical object

C . two different numeric variables contain identical values

D . two variables have the same names

E . none of the above

解析:alias是别名,有两个或多个引用指向同一物理对象时,就会发生“别名”。

  • These two ways of setting up a String yield identical results:

a) String string = new String(12345);

b) String string = new String("12345");

A . true

B . false

解析:用new是()里的String类必须带引号,不然不能编译

  • The printf method within System.out is designed to ease the conversion of legacy C code into Java.

A . true

B . false

解析:英文理解错误,我理解是对比,实际上是代码进入。

  • The advantage(s) of the Random class‘ pseudo-random number generators, compared to the Math.random method, is that

A . you may create several random number generators

B . the generators in Random are more efficient than the one in Math.random

C . you can generate random ints, floats, and ints within a range

D . you can initialize and reinitialize Random generators

E . all but answer B

解析:英文理解不足。随机发生器在Math.random的优点包括所有其他属性。

  • Consider the following two lines of code. What can you say about s1 and s2?
    String s1 = "testing" + "123";

String s2 = new

String("testing 123");

A . s1 and s2 are both references to the same String object

B . the line declaring s2 is legal Java; the line declaring s1 will produce a syntax error

C . s1 and s2 are both references to different String objects

D . s1 and s2 will compare "equal"

E . none of the above

解析:s1和s2都是合法的,但是加号不适用。

  • 错题二What value will z have if we execute the following assignment statement? float z = 5 / 10; (如果我们执行下面的赋值语句,得到的z将会是什么值?)

A . z will equal 0.0 (z将等于0.0)

B . z will equal 0.5 (z将等于0.5)

C . z will equal 5.0 (z将等于5.0)

D . z will equal 0.05 (z将等于0.05)

E . none of the above, a run-time error arises because z is a float and 5 / 10 is an int (以上都不对,因为z是float类型,5 / 10是int类型,所以会发生运行时错误)

解:对于float行的小数计算,析等式右边是一个整数型的除法,所以结果舍弃小数部分,得到0,进行扩展类型转换后就得到了0.0.

  • What is output with the statement System.out.println(""+x+y); if x and y are int values where x=10 and y=5? (如果x和y是int类型的数值,x=10,y=5,那么语句System.out.println(""+x+y);的输出是什么?)

A . 15

B. 105

C . 10 5

D . x+y

E . An error since neither x nor y is a String (因x和y都不是字符串而引起的一个错误)。

解析:将代码Java运算得105

  • Java is a strongly typed language. What is meant by "strongly typed"? (Java是一种强类型语言。“强类型”指的是什么?)

A.Every variable must have an associated type before you can use it (在使用变量之前,每个变量一定都有一个与之关联的类型)

B.Variables can be used without declaring their type (变量可以在不声明其类型的情况下使用)

C.Every variable has a single type associated with it throughout its existence in the program, and the variable can only store values of that type (在程序中,每个变量都有一个与之关联的类型,而变量只能存储该类型的值)

D.Variables are allowed to change type during their existence in the program as long as the value it currently stores is of the type it is currently declared to be (变量存在于程序中时允许改变类型,只要它当前存储的值是当前声明的类型)

E.Variables are allowed to change types during their existence in the program but only if the change is to a narrower type (变量存在于程序中时允许改变类型,但只能缩窄转换)

解析:课本定义没有理解

  • Assume that x, y, and z are all integers (int) equal to 50, 20, and 6 respectively. What is the result of x / y / z? (假设x、y和z都是整型数(int),分别等于50、20和6。那么x / y / z的结果是什么?)

A
.
0

B
.
12

C
.
16

D
.
A syntax error as this is syntactically invalid (由于语法无效产生的语法错误)

E
.
A run-time error because this is a division by 0 (由于除0产生的运行时错误)

解析:这道题的运算顺序是从左到右,50/20=2, 2/6=0;其中没有除0,错的原因是做题不认真。

结对及互评

评分标准

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

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分
  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

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

    • 本博客在修改上次考试错题的方面下了很大功夫,学习了linux中许多命令,理解了linux中命令的多用法。
    • 但是博客在课本自学方面存在一点问题,并没有将所有知识点列出,只是课本编程实列的学习问题的解决。
    • 本博客在代码调试问题的环节中积极解决问题,掌握Java在linux环境下的许多编程细节。
  • 代码中值得学习的或问题:
    • 因为本周学习都是第一章的简单输出编程,所以问题几乎没有,只是在编程格式上尽可能美观方便,方便修改。
    • 本博客存在设置类(标识符)时的错误,希望改正。
  • 基于评分标准,我给本博客打分:10分。得分情况如下:
  • 正确排版要素齐全(+1)
  • 使用makedown格式(+1)
  • 教材问题(+3)
  • 代码调试问题(+3)
  • 错题深入(+1)
  • 点评认真(+1)
  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 20182324
    • 结对照片
    • 结对学习内容
      • 条件语句和循环语句的使用
      • 输入语句和输出语局应用
      • 基本数据类型的转换和应用
      • 各种类的使用方法,以及格式化输出的方法。
  • 上周博客互评情况
    • 学号1
    • 学号2
    • 学号3
    • 学号4
    • ...

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

在我看来是对C语言知识在Java程序上的套用,首先条件语句和循环语句几乎和C语言一模一样,各种if语句,while语句等等都一样;其次测试代码就像C语言中的主函数和分函数一样,在期间传递对象的值。其次我对Java学习渐渐有了心得,不外乎就是多练和多看,多练可以熟悉掌握不会忘记,多问可以排查知识点漏洞,这样java学习可以更加得心应手。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 107/107 2/2 15/15
第二周 454/526 2/4 32/47

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

  • 计划学习时间:35小时
  • 实际学习时间:32小时
  • 改进情况:在周六周天假期少一点玩,多打几行代码。

参考资料

原文地址:https://www.cnblogs.com/lyz182329/p/11569786.html

时间: 2024-08-29 10:16:51

《数据结构与面向对象程序设计》第2-3周学习总结的相关文章

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

20182332 2019-2020-1 <数据结构与面向对象程序设计>第1周学习总结1 教材学习内容总结 1.配置linux 虚拟机.java环境. 2.理解面向对象程序设计,包括属性.方法.封装等概念. Java基本结构,环境变量配置,集成开发环境. JAVA文件编译过程: 1.源文件由编译器编译成字节码(ByteCode) 2.字节码由java虚拟机解释运行. git命令: git init 创建本地版本库: git clone 与远程仓库建立联系: git add .将当前目录下文件添

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

学号 2019-2020-2314 <数据结构与面向对象程序设计>第1周学习总结 教材学习内容总结 1.计算机系统是由软硬件组成的 2.java程序的结构组成(注释.标识符和保留字等) 注:java是大小写敏感的,大写和小写是有区别的 3.程序开发所包含的内容(程序设计语言的等级.编辑器.编译程序.解释程序.开发环境和语法语义) 4.在开发软件的过程中遇到问题时的解决步骤:理解问题.设计方案.考虑方案的选择并优化方案.实现方案.测试方案并修改存在的任何问题. 教材学习中的问题和解决过程 问题1

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

20182329 2019-2020-1 <数据结构与面向对象程序设计>第1周学习总结 教材学习内容总结 git代码托管代码 Java的基本编程 jdb代码调试 教材学习中的问题和解决过程 问题1:在课本自学过程中,有一题是Java中有什么是不可能被识别的,我做错了一道(12345)可以被识别. 问题1解决方案:后来询问学长数字不与命令相匹配时不是有效的标识符,且标识符不能以数字为开头. 问题2:在自己对于课本代码编译时,发现自己main处显示错误 问题2解决方案:一开始我以为是我main的方

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

目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 其他(感悟.思考等,可选) 学习进度条 参考资料 目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 学习了java的历史与发展. 学习了一些软件工具,开发环境等. 掌握

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

20182320 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 1.教材学习内容总结 本周学习内容分为以下几个部分: 4.8.1 迭代器和for循环 5.1 再谈类和对象 5.2 类的剖析 5.3 封装 5.4 方法的剖析 5.5 静态类成员 5.6 类关系 5.7 方法设计 5.8 方法重载 5.9 测试 5.10 调试 4.8.1 迭代器和for循环 什么是迭代器? 迭代器是一个对象,我们可以使用它的方法来处理某集合中的元素,一次处理一个. 每个迭代器对象都有一个方

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

目录 20182324 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 20182324 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 这是一篇空博客 原文地址:https://www.cnblogs.com/lolipop2019/p/11613815.html

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

20182328 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 教材学习内容总结 1.对类和对象进一步的了解. 2.学习静态类和静态方法. 3.学习类之间不同类型的关系. 4.学习方法的设计及重载. 5.学习了如何调试. 教材学习中的问题和解决过程 问题1:为什么有的变量可以重名? 问题1解决方案:在方法内声明的局部变量可以和在类一级声明的实例变量有同样的名字. 问题2:方法重载的用处是什么? 问题2解决方案:方法可能面临会有不用的参数列表,这时会用到重载,方便调用.

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

目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 学习进度条 参考资料 目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 教材学习内容总结 1.对象和类的关系:(类是对象的蓝图) 2.理解对象的状态(属性)和行为(操作): 3.理解类的分配

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

学号20182329 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 教材学习内容总结 学会使用单元测试进行测试代码. 学会TDD代码测试. 学会是使用编写类,用public.void等编写,调用类的方法进行运算. 学习类与类的关系,继承,聚合,关联等等,来厘清关系. 学习UML图,设定方法.类.数据. 学会方法调用和包装方法的使用. 学会类与类的继承,还有接口的选择. 教材学习中的问题和解决过程 问题1:在编写类时用总类下又定义了一个public来定义一个变量,后来在另