# 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 学会自创类以及面向对象的方法
posted @ 2017-04-01 23:19  FunnyOne  阅读(262)  评论(6编辑  收藏  举报