20165203《Java程序设计》第三周学习总结

教材学习内容总结

1.类:
(1)类的声明:class+类名
(2)类体:成员变量的声明+方法(局部变量+语句)
注意:

  • 方法体内声明的局部变量只在方法内有效和书写位置有关。
  • 局部变量和成员变量同名:成员变量在方法内被隐藏暂时失效,想用的话,用this
  • 局部变量没有默认值,成员变量有,为0

2.对象
(1)构造方法: 和类名一样,没有类型

  • 不定义的话,系统会默认
  • 定义的话,系统不默认
    (2)创建对象:
  • 声明对象:类名+对象名 例:Xiyoujirenwu zhuhbajie
  • 为对象分配变量(创建对象):new+构造方法例:new Xiyoujirenwu()
    (3)使用对象:
    对象.变量
    对象.方法
    (4)对象的引用和实体:两个类型相同的对象,引用相同,实体相同

3.程序结构:必须有主类,没有主类,不叫程序。

4.传值机制:方法中参数的值是调用者指定值的拷贝

  • 具体类型参数的传值:按精度来看
  • 引用类型参数的传值:(数组和对象)
    类型相同,引用相同,实体就相同

5.实例变量(不加static)和类变量(加static)

  • 不同类型的实例变量互不相同
  • 所有对象共享类变量
  • 通过类名直接访问类变量

6.实例方法(不加static)和类方法(加static)

  • 类方法只能操作类变量
  • 实例方法类变量和实例变量均能操作

7.this关键字:表示某个对象,必须是对象来调用,不可以出现在类方法中

8.包

9.import语句:import java.until.*:

10.JRE扩展与jar文件

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

Q:如图所示,当写到如图所示代码时,不太明白String的意思。

解决:通过看娄老师给的网课,找到String是一种类型是字符串的意思,该句代码的意思是该方法的参数为一段字符串,输出字符串。

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

Q1:当类和主类不在同一个源文件时,编译出现问题,如图所示。

解决:在自己查找解决方法和同学帮助下,发现,必须将类文件编译生成的字节码文件和主类的源文件放在同一文件夹里,才能正常编译(如图所示)。但当时还没有学习到包的有关内容,学习了包之后,这种问题便得到了很好的解决。
Q2:(未解决) 在打开虚拟机时,突然只有命令行模式,无法转换到图形界面模式,在百度之后也没有合理解决方案,无奈之下重装虚拟机,但很担心下次出现同样的问题,希望大家提供解决方案。

代码托管

上周考试错题总结

Q1:( 已解决 )
表达式-2 >>> 1的值为

A . 2^31 – 1
B . 2^15 – 1
C . 1
D . -1
答案:D
解析:因为不了解>>和>>>的区别,所以特意去百度上查了一下,>>是带符号的移位符,要根据符号移位,正数补0,负数补1,>>>是无符号移位,都补0。
所以,该题的解法为现将-2的补码写出11111110,再右移一位,再补1,为11111111,再变回原码为10000001,值为-1.
Q2:(未解决)
表达式15&250的值为
A . FF
B . 0
C . 255
D . 1
答案:未知
解析:自己经过运算:15D=1111B,250B=11111010D,所以,二者进行&运算,为1010B,结果为10,但是题中没有该项答案,希望大家提供正确解法及答案。

其他(感悟、思考等,可选)

从本周开始,明显感到代码的增多,且学习本章需要良好的C语言基础,如果了解了C语言的相关语法知识,理解起Java的有关概念时,就明显地容易了许多,例如Java类中的方法如同C语言中的函数概念。并且,本周的学习任务增大,我们要学会有计划地学习,给自己制定学习计划,按部就班地完成,这样学习起来也很有自信。另外,团队学习也是很有效的,在这里我要感谢本周帮助过我的小伙伴儿们,希望我们共同学好Java,加油。

学习进度条

~ 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第三周 964/500 1/4 18/38

参考资料

posted @ 2018-03-18 17:12  I~Justice  阅读(110)  评论(0编辑  收藏  举报