# 20162317 2016-2017-2 《程序设计与数据结构》第5周学习总结
20162317 2016-2017-2 《程序设计与数据结构》第5周学习总结
教材学习内容总结
本章学习了类与对象,此外还学习了面向对象的学习方法。此章的概念性比较强,对编写的思维、对方法的引用、程序测试的方式以及调试。
教材学习中的问题和解决过程
- 问题1:刚开始就被程序5.2中的的语句难住,而且那些" public void"、"public String"等完全看不懂是什么意思。
- 问题1解决方案:仔细学习娄老师在蓝墨云课堂发的视频,懂得了这种语句是在构建类中的方法(或者说是函数),经过我上网耐心地查找,也发现了一直以来:void的作用——即可以不用输入返回"return"语句。
- 问题2:"return"语句究竟是怎么一回事??
- 问题2解决方案:在网上简略查询后正如其所说的,“返回”,在前几章中,我们可以知道,所谓的返回即打印出一些已预设好的元素。但我又有了疑问,那是否意味着直接用就可以了呢?不需要"System.out.println();"来打印了呢?带着疑问,我创建了一个简单的类Dog.java
,运行编译后,我再创建了一个新的java文件Dogtest.java
。编译运行后
发现并不能打印出来,所以我认为即使return了以后想要看到返回的值,还得靠"System.out.println();"来实现,于是我对我的程序进行了修改,并进行了编译运行……
- 问题3:编辑类中的"private"的用法,在类的外面不能引用是怎么体现?
- 解决方案3:我先上网微微查看其定义和用法,网上的介绍是:“它定义的变量只能在此对象内部调用,外部程序就无法调用。”这个介绍在一定程度上让我对"private"的用法有了一个较模糊的概念。
- 猜想1:"private"限制了变量,使其只能在类中修改值,在其他文件中引用相关类后不能再创建一个同名的变量。
- 猜想2:"private"限制了变量,使其只能在类中修改值,在其他地方就不能再对私有变量作出调整和修改。
- 为了进一步的认证,我弄了一个及其简单的类来验证"private"的用法:
,紧接着我弄了个TEST.java文件来验证我的猜想
,然后我编译运行,发现创建的变量"dataone"的值是TEST.java中的值,因此我的第一条猜想被推翻;验证第二条猜想,我对TEST.java进行了修改
,再编译运行,发现:
说明我的第二种猜想是对的。
代码托管
上周考试错题总结
-
错题1:Which of the statements is true about the following code snippet?(对于下面的代码段,说法正确的是?)
int[] array = new int[25]; array[25] = 2;
A .
The integer value 2 will be assigned to the last index in the array.(整数2会赋给数组中最后一个元素)
B .
The integer value 25 will be assigned to the second index in the array.(整数25会赋给数组中的第2个索引)
C .
The integer value 25 will be assigned to the third value in the array. (整数25会赋给数组中的第3个元素)
D .
This code will result in a compile-time error.(代码会产生编译时错误)
E .
This code will result in a run-time error. (代码会产生运行时错误)
- 答案:D 错选:C
- 理解情况:题目中出现的情况就是典型的数组下标越界异常,在编译时不会出现错误,在运行时会导致数位不够而导致运行出错。
- 错题2:
- The relational operators should not be used to test the equality of objects.(关系运算符不应当用于测试对象的相等性)
A .
true
B .
false
结对及互评
点评过的同学博客和代码
感悟
这章有很多理论性的东西,且内容还十分丰富,作为一名工科生,我表示看这些真的很头疼。但作为一名程序员,光会打码,光会实践不行,理论基础还是要的,所以我们都急切要培养我们的文科思维,懂得去注意这些理论。
学习进度条
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
月目标 | 2000行 | 4篇 | 60小时 | |
第一周 | 96/96 | 1/1 | 13/13 | 初步认识了JAVA |
第二周 | 646/736 | 1/2 | 18/38 | 懂得代码的一定格式 |
第三周 | 536/1272 | 1/3 | 20/33 | 学会了用IDEA |
第四周 | 1296/2568 | 1/4 | 30/63 | 学会了初步编程 |
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
月目标 | 4000行 | 4篇 | 120小时 | |
第五周 | 1523/3425 | 1/1 | 26/89 | 学会自创类以及面向对象的方法 |