20172315 2017-2018-2 《程序设计与数据结构》第四周学习总结
教材学习内容总结
第四章主要介绍了关于编写方面的一些问题
- 介绍了类型与对象之间的关系
- 通过例题等介绍了怎样编写一个属于自己的一个类和如何使用它
- 介绍了实例数据和UML图的概念
- 在封装一节,我学习到了如何对自己程序中的一些东西进行封装,并知道了如何读取和修改它
- 学习了return语句相关的知识
第七章主要讨论了面向对象软件的设计方法 - 了解了静态类相关的知识,其中包括静态变量与静态方法
- 知道了类间的各种关系,包括依赖、聚合和继承关系
- 学习了接口的相关知识
在测试一节,学习了各种软件测试方法及其必要性
教材学习中的问题和解决过程
- 问题1:对于封装的访问器与修改器的具体使用方法不是很清楚
- 问题1解决方案:通过看书上4.1和4.2等例题后知道了set和get如何使用
- 问题2:关于接口的使用仍有点懵
问题2解决方案:通过百度找到了一张图便于理解
代码调试中的问题和解决过程
问题1:在编写pp4.5时出现了下面的错误
- 问题1解决方案:查阅资料后知道空值无法转换成int,我把出场日期随意初始化了一个整数,问题得以解决。
问题2:在编译pp4.5时发现以下错误
问题2解决方案:大部分都是打字时打错或漏字,还有个是赋予int值时使用了引号,导致无法赋予,最后去掉引号问题得以解决。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1
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
java变量包含的值或引用类的实例 - 错题2
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,那么对象不被任何变量引用(通过任何别名),它实际上变成了一个“孤儿”,将来在某个时候它会被垃圾收集。 - 错题3
What is the function of the dot operator?
A . It serves to separate the integer portion from the fractional portion of a floating point number
B . It allows one to access the data within an object when given a reference to the object
C . It allows one to invoke a method within an object when given a reference to the object
D . It is used to terminate commands (much as a period terminates a sentence in English)
E . Both B and C are correct
点运算符在对象引用之后直接添加,后面是需要访问的数据或方法。在数据的情况下,访问可用于读或写。在一个方法的情况下,访问是允许一个调用方法。浮点数中的点是小数点而不是点运算符。 - 错题4
Which of the following will yield a pseudorandom number in the range [ -5, +5 ) given the following:
Random gen = new Random( );
A . gen.nextFloat( ) * 5
B . gen.nextFloat( ) * 10 - 5
C . gen.nextFloat( ) * 5 - 10
D . gen.nextInt( ) * 10 - 5
E . gen.nextInt(10) - 5
nextfloat产量范围[ 0, 1伪随机数);10产量数范围内[ 0, 10倍);减去5的产量数字范围在【5, 5)。 - 错题5
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
双方的声明是合法的java。S1是一个字符串,它被初始化为字符串“testing123”。S2是一个字符串引用,它被初始化为字符串“测试123”。注意“测试”和“123”之间的空格。所以这两个字符串不相等。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第四周 | 900/1600 | 2/9 | 30/90 |
参考资料
《Java程序设计与数据结构教程(第三版)》
蓝墨云