首页 > 其他 > 详细

2.3周学习总结

时间:2019-09-23 00:59:52      阅读:123      评论:0      收藏:0      [点我收藏+]

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

教材学习内容总结

第二章 课本内容

  • 变量类型:字符型 char ,String;整形int,short,long;浮点型float,double.变量类型之间的转换。

  • Scanner类的引入。在引入类时,加入import声明,类在使用时声明其库类是十分有必要,否则相应方法将无法使用。

    第三章 课本内容

  • 创建对象,某些类在使用时,要提前将对象实例化,以引用对象,在Java学习中,要时刻建立类与对象的概念。

  • String类的引用,了解String中众多方法的使用,String类在使用时不需要提前使用import声明。

  • Random类的使用,Random在使用时,要提前用import声明,为import java.util.Random;
    另外特别注意,随机生成整形数时,要减1;生成浮点型数时,不变;

  • Math类的使用,math类使用时不需要
    提前声明,也不需要实例化对象,用于解决数学问题。注意,其中包含pi,调用方法为Math.PI,pi为double,注意运算结果的变量类型。

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

  • 问题1:对类的实例化不太理解,那些需要实例化,那些不需要实例化分不清。
  • 问题1解决方案:研究后,发现对于静态的类,不需要实例化,可直接引用,如Math。而对于动态的类使用,要用于生成新变量,接收新变量的动态类来说,引用方法必须实例化对象。

  • 问题2:对数据类型的转换使用不够熟练。
  • 问题2解决方案:通过总结,了解各种变量类型占用空间的大小,并结合练习,认识到数据类型转换一般发生于小空间转换为大空间上,如果强制转换后程序报错数据丢失,可通过加大结果变量的空间来接收数据。

  • 问题3:在建立对象的学习中,对对象地址产生疑惑,这与C语言不同。
  • 问题3解决办法:因对象在Java中是针对地址操作,所以比C语言多了许多操作,字符串可直接通过地址统一实现数据赋值,但两者就使用同一地址,相当于是同一变量。

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

  • 问题1:代码4/3.0出现报错,运算无法进行。本想通过将3改为3.0是运算结果为浮点型,但编译时直接报错。
  • 问题1解决方案:通过多次测试,得出结论,被除数不能设定为小数,若要通过此方法改变数据类型,可在分子上改为小数。

  • 问题2:float a;a=5/2;此代码运行结果,a=2.0。
  • 问题2解决方案:通过资料查询,搞清运算顺序,在运算时,先进行5/2的操作,结果为2。再将结果转为浮点型,所以结果显示为2.0。应该为a=(float)5/2。先将5转为浮点型,再运算得出正确小数结果。

代码托管

上周考试错题总结

  • 错题1:A cast is required in which of the following situations? (下列哪种情况需要强制转换?)

A
.
using charAt to take an element of a String and store it in a char (使用charAt来获取字符串元素并将其存储为char类型)

B
.
storing an int in a float (将一个int类型的数存储为float类型)

C
.
storing a float in a double (将一个float类型的数存储为double类型)

D
.
storing a float in an int (将一个float类型的数存储为int类型)

E
.
all of the above require casts (以上所有情况都需要强制转换)

答案:D float型变量转为int型需要丢失小数部分的数据,以上都是拓宽行转换,不会丢失数据,因此不需要强制转换。

  • 错题2 Which of the following is true regarding the mod operator, %? (关于求余运算符%,下面哪项是正确的?)

A
.
It can only be performed on int values and its result is a double (它只能执行int类型的数值,其结果是double类型的数)

B
.
It can only be performed on int values and its result is an int (它只能执行int类型的数值,其结果也是int类型的数)

C
.
It can only be performed on float or double values and its result is an int (它只能执行float或者double类型的数值,其结果是int类型的数)

D
.
It can only be performed on float or double values and its result is a double (它只能执行float或者double类型的数值,其结果是double类型的数)

E
.
It can be performed on any numeric values, and the result always is numeric (它可以执行任何类型的数值,其结果始终是数值)

答案:E 取余运算符只能用在整形上,结果和中途运算都只能是整形。

  • 错题3: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都不是字符串而引起的一个错误)

答案:A 不加引号,可直接运算。

  • 错误4:The values of (double) 5 / 2 and (double) (5 / 2) are identical. ((double) 5 / 2和(double) (5 / 2)的值是相同的。)

A
.
true

B
.
false

答案:B Java运算有顺序要求,第一个先将5转为浮点型,答案为2.5;后一个新运算,再转为浮点型,答案为2。

结对及互评

  • 博客中值得学习的或问题:
    • 对学习态度认真,能合理安排日后复习工作。
    • 面对代码错误能积极反思并记录下来。
  • 基于评分标准,我给本博客打分:12分。得分情况如下:
  1. 正确使用Markdown语法加1分:

  2. 模板中的要素齐全加1分

  3. 教材学习中的问题和解决过程, (加3分)

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

  5. 周五前发博客的加1分

  6. 进度条中记录学习时间与改进情况的加1分

  7. 错题学习深入的加1分

  8. 结对学习情况真实可信的加1分

  • 博客中值得学习的或问题:
    排版清楚,内容充实,有自己的思考过程。
  • 博客中值得学习的或问题:
    • 对学习态度认真,能合理安排日后复习工作。
    • 面对代码错误能积极反思并记录下来。
  • 基于评分标准,我给本博客打分:12分。得分情况如下:
  1. 正确使用Markdown语法加1分:

  2. 模板中的要素齐全加1分

  3. 教材学习中的问题和解决过程, (加3分)

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

  5. 周五前发博客的加1分

  6. 进度条中记录学习时间与改进情况的加1分

  7. 错题学习深入的加1分

  8. 结对学习情况真实可信的加1分

点评过的同学博客和代码

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 50/200 2/2 20/20
第二周 299/500 4/4 21/38
  • 计划学习时间:20小时

  • 实际学习时间:21小时

  • 改进情况:自学能力有所提高,对java编程掌握更好。

参考资料

2.3周学习总结

原文:https://www.cnblogs.com/zjwbk/p/11567463.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!