20175311 2018-2019-2 《Java程序设计》第3周学习总结
教材学习内容总结
- 在蓝墨云中的教程里学习了如何安装IDEA,并且尝试了自己破解IDEA
- 主要在看书时,对java中的类、方法、对象等基础知识点有了初步的理解(在看书的过程中还发现了书本上的几处印刷错误哈哈哈)
- 在虚拟机中打印这些例子,也在其中发现了许多问题
教材学习中的问题和解决过程
- 问题1:开始时,不理解方法的定义的格式是什么,目的是什么,类和对象的区别是什么?
- 问题1解决方案:通过在网上查找一些博客,在他们上面看到有对方法、类、对象的详细介绍。
上面介绍了很多基础知识,比如定义方法的格式。其中访问修饰符有一些可以省略,而返回值类型如果定义了int、double等就需要return,如果用void定义就不需要return了。
对于类、对象、方法的之间的关系,类是我们刚刚开始声明的一个大类,而对象是类中的一部分,两者属于包含与被包含的关系。例如类指的是所有学生,那么小明就是学生之一,即对象。利用对象名.方法名()就可以调用在方法中的函数。
问题2:在定义方法时,方法前存在方法类型且名字与主类不同意的方法定义是什么情况?
问题2解决方案:在询问同学和翻了书之后,发现在书本p58有一个构造方法和不是构造方法的划分。我猜测倘若方法前没有类型且方法的名字与主类统一,则可以称为构造方法,若有一条不符号则不是构造方法。在随后看书的过程中,Example4_13.java例子中,Circle.java里面没有定义构造方法,而在Tixing.java中则定义了构造方法,然后在主类中调用方法时两者的调用语句有所不同,一个是先创建对象再对象赋值,而一个则是直接创建加上赋值,所以我猜测可能是因为这个原因而导致的。当然这些还只是猜测,也有待考证。
问题3:不理解在输出过程中“+”加号这个符号是什么意思?
问题3解决方案:可能由于在c语言中,输出的时候大部分需要取地址符&,所以刚刚开始我并不理解这个加号什么意思,所以刚刚开始我把加号理解成与取地址符&一个意思。但是后来的例题中出现了好多个加号,我猜测他的意思应该是简单地把内容连接起来的意思。
代码调试中的问题和解决过程
- 问题1:为什么三个不同的文件可以存在一个主类中的调用呢?
- 问题1解决方案:经过尝试,发现只需要在同一个当前目录下的文件夹中就可以调用不同的文件。书本p66有解释,“当运行一个java应用程序时,java虚拟机将java应用程序所需要的字节码文件加载到内存”。
- 问题2:在打书上的代码时出现空对象的问题。
- 问题2解决方案:在书本p63有解释,空对象不能使用,程序在运行时会出现异常NullPointerException的问题。
[代码托管]
https://gitee.com/H2742/HelloWorld
上周考试错题总结
- 错题1
我们需要先了解负数在计算机中的二进制就是其正数的补码,即取反加一。>>是带符号右移的意思,而>>>则是无符号右移的意思。
其他(感悟、思考等,可选)
这周主要是注重java中语句的学习,主要的时间花在了看书和打代码上面,其中我在看书还发现了书本存在一下小小的印刷错误。通过对书本的仔细研读,我也尽快地在学习语句中的内在逻辑,以及各种语法知识。
总体来说,看书上的例题能学习到许多东西,对我来说还是有一些难度,我还是会有一些语句不理解其中的意思。但是这周在打代码上的时间相对来说不太多,我认为java的学习还是需要我们多敲敲代码,这样子才能更好地学习与巩固。
在看书时发现的课本的几处印刷错误。
代码5的参数应该是20,它却打成了50。
对象的名称是circle,它拼错成了circula。