20175218 2016-2017-2 《Java程序设计》第三周学习总结
教材学习内容总结
-第四章主要提出了类和对象这两个概念,从这里就可以看出Java和C语言的区别。
-首先是类,类是组成Java源文件的基本元素,定义包括类声明和类体。例如:class是关键字,而“class 类名”就是对类的声明。所以class就是用来定义类的,而涉及到类与程序的基本结构,Java程序中又有一个主类,就是含有main方法的类。类体则包括成员变量和方法。
-第四章中还有参数传值这一部分,主要说到了基本数据类型参数的传值、引用类型参数的传值以及可变参数。
-第四章说到了构造方法,以及实例方法和类方法。类方法既可以由该类的对象调用,也可以用类名调用,实例方法必须由对象调用。
-第四章还提到了import语句。import语句可以用来引入带有包名的类。
教材学习中的问题和解决过程
-
问题1:看不太懂引用类型参数的传值这部分内容
-
问题1解决方案:通过看视频,以及咨询学霸,基本了解了这部分内容
-
问题2:分不清实例对象和类方法
-
问题2解决方案:通过上网查资料了解到:
实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能访问实例变量。实例方法必须由实例对象来调用,而类方法除了可由实例对象调用外,还可以由类名直接调用。
另外,在类方法中不能使用 this 或 super。 关于类方法的使用,有如下一些限制:
1、在类方法中不能引用对象变量。
2、在类方法中不能使用super、this关键字。
3、类方法不能调用类中的对象方法。与类方法相比,实例方法几乎没有什么限制:
1、实例方法可以引用对象变量(这是显然的),也可以引用类变量。
2、实例方法中可以使用super、this关键字。
3、实例方法中可以调用类方法。
代码调试中的问题和解决过程
代码托管
上周考试错题总结
-表达式-2>> 1的值为
A.2^31-1
B.2^15-1
C.1
D.-1
错选:A
正解:D
解析:带符号右移(">>") ,即有符号位时,负,数符号位补1,正数符号位补0,-2 的二进制求法是正数取反加1,因此2的二进制表示为00000000 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 >>> 1的值为
A.2^31-1
B.2^15-1
C.1
D.-1
错选:D
正解:A
解析:无符号右移(">>>"),即无论正负数,右移之后符号位均补0。-2的二进制无符号右移一位之后为0111 1111 11 11 1111 1111 1111 1111 1111, 即2^31 -1。注意: >>、<<、>>>运算符只针对int型和long型,byte ,short ,char型需要转换成int型再进行操作。
-下列程序的运行结果为:
int i=10;
do {
i/=2;
} while(-i>1);
System.out.println(i);
A.1
B.5
C.2
D.-1
错选:D
正解:A
解析:算错了
-下列程序中哪些【代码】是错误的?
public class E {
public static void main(String args[]) {
int x= 8;
byteb= 127; //【代码1】
b=x; //【代码2】
x=12L; //【代码3】
long y=8.O; //【代码4】
float z=6.89; //【代码5】
}
}
A.代码1
B.代码2
C.代码3
D.代码4
E.代码5
错选:BCD
正解:BCDE
解析:漏选了E
-下列关于课本P29示例程序的说法,正确的是
A.如果注释掉第一行“importjava.util.*;”,则“System.out.println(Arrays.toString(a));”和“Scanner scanner=new Scanner(System.in);”两句会报错。
B.折半查找时,必须保证数组是有序的。
C.该程序所示的排序方法为冒泡排序法。
D.count>N/2说明查找结束,没有找到该数字。
错选:ABC
正解:ABCD
解析:漏选了D
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
-
计划学习时间:18小时
-
实际学习时间:18小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)