## 教材学习内容总结

在第三周的学习过程中,我学习了第四章的内容。

第四章内容总结:

1.类是组成Java源文件的基本元素,一个源文件是由若干个类组成的。

2.成员变量分为实例变量和类变量。类变量被该类的所有对象共享,不同对象的实例变量互不相同。

3.除构造方法外,其他方法分为实例方法和类方法。类方法不仅可以由该类的对象调用,也可以用类名调用;而实例方法必须由对象来调用。

4.在编写Java源文件是,可以使用import语句引入有包名的类。

 

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

-问题1:在运行多个程序时,忘记一个程序中只允许有一个public,而造成编译错误。

-问题1解决方案:将除主程序外的public删去。

-问题2:运行带包文件时,编译运行结果出现找不到文件。

-问题2解决方案:以例子4-15为例,编译时使用命令 javac -d . Example4_15.java ,运行时使用命令 java tom.jiafei.Example4_15。

-问题3:搭建流水线时,运行出现如图错误。

-问题3解决方案:以例子4_24为例,如果程序放在一起,只能有一个public类,还有就是应该把important和package等放在开头。

 

## [代码托管](码云学习项目链接)

 

 

 

## 上周考试错题总结

1.表达式-2 >> 1的值为 D
 
A.2^31 – 1
B.2^15 – 1
C.1
D.-1
 
解析:带符号右移(“ >> ”),即有符号位时,负数符号位补1,正数符号位补0, -2 的二进制求法是正数取反加1,因此 2 的二进制表示为0000 0000 0000 0000 0000 0000 0000 0010 ,取反加一为1111 1111 1111 1111 1111 1111 1111 1110 ,即 -2 的二进制表示。带符号右移之后为 1111 1111 1111 1111 1111 1111 1111 1111 ,除符号位之外,减一取反,得到带符号十进制数为-1。
2.下列说法正确的是 ABD
 
A.float a = 3.5;会导致编译错误。
B.byte b = (byte)(-150);则b的值为106。
C.byte c = 10;int d = (int)c;会导致精度的损失。
D.精度由高到低排序为:double float long int char short byte
 
解析:2.2节。A项:必须有后缀f或F。B项:超出byte变量的取值范围,b的值为106。C项:int精度比byte高,不会导致精度的损失。