资源描述
期末复习试卷(三)
一、 单项选择题
1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源
文件名是()
A. teststudent.java
B. teststudent .class
C. Teststudent.java
D. TestStudent.class
正确答案:C
解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(publ ic), 该java文件的名字要与公共类的一致。
2、关于下面的代码,哪个描述是正确的?
public class Test{public static void main(String[] args){
Integer nl = new lnteger(3);Object n2 = new lnteger(4);
System.out.println(nl pareTo(n2));)
)
A.可以编译通过,可以运行,并得到预期结果。
B.可以编译通过,可以运行,但不能得到预期结果。
C.可以编译通过,但又运行错误。
D.有编译错误。
正确答案:D
解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,
C. abstract interface A{print();
)
D. interface A{void print();
)
正确答案:D
解析:(1) interface前面没有abstract修饰;(2)接口中的方法都是抽象的,因此不能有方法体,即3。
21、下面关于多态的说法,正确的选项是()。
A.一个类中不能有同名的方法;
B.子类中不能有和父类中同名的方法;
C.子类中可以有和父类中名字相同,且参数相同的方法;
D.多态性就是方法的名字和参数可以一样,但返回值的类型必须不•样。
正确答案:C
22、用于定义类成员的访问控制权的一组关键字是()
A. class, float, double, public
B. float, boolean, int, long
C. char; extends, float, double
D. public, private, protected
正确答案:D
23、下面关于接口的说法哪一条是错误的?()
A,接口是一种特殊的抽象类,接口的方法都是抽象方法;
B.类可以实现接口;
C.接口和子接口可以有自己的实例对象;
D.可以使用接口声明引用,引用实现本接口或子接口的类的对象。
正确答案:C
解析:接口中的方法都是抽象的,不能创立实例;类似的,抽象类也不可以创立实 例。
24、下面关于抽象类的说法,哪一条是错误的?()
A.抽象类可以不包含抽象方法:
B. 一个类只要有一个抽象方法,就是抽象类;
C.抽象类不能创立对象,创立对象的工作由抽象类的具体子类来实现;
D.对于抽象类中的抽象方法来说,在抽象类中既要指定方法名和参数,又要指定 实现代码。
正确答案:D
解析:抽象方法没有方法体,因此不可能有实现代码。
25、Java源程序经过编译后得到的类文件的扩展名是哪一个项?()
A. java
B. exe
C. class
D. html
正确答案:C26、Worker类是Person类的子类,Worker的构造方法中有一句super(),该语句是 ( )。
A.调用Person类中定义的super。方法
B.语法错误
C.调用Person类的构造方法
D.调用Worker类中定义的super。方法
正确答案:C
27、关于覆盖和重载,下面说法哪一个是错误的?(
A. 一个类中包含多个同名但参数不同的方法,这些方法构成了重载。
B.普通的成员方法可以重载,但构造方法不可以重载。
C.如果在子类中定义的方法与其父类的某个方法具有相同的名称、参数和返回 值,那么称子类的方法覆盖了父类的方法。
D.当父类的方法不能满足子类的要求时,子类可覆盖父类的方法;当一种功能有 多种实现时,可使用重载来提供多个同名不同参的方法。
正确答案:B
解析:构造方法也可以重载,即一个类可以有多个构造方法。
28、下面的代码说明类A和类B之间是什么关系?()
class A{ }
class B extends A {}
A.关联
B.继承
C.依赖
D.实现
正确答案:B
29、下面代码的错误出现在 0
1: public class Reviewl308{
2: public static void main(String[] args){
3:Number x = new lnteger(3);
4:System.out.println(x.intValue());
5:System.out.println((lnteger)x pareTo(newlnteger(4)));
6:}
7:)
B. line 2
C. line 3
D. line 4
E. line 5
正确答案:D
30、以下关于继承的概念,哪项表达是正确的?()
A.在java中,允许一个类继承多个父类;
B.在java中,一个类只能实现一个接口;
C.在java中,一个类不能同时继承一个类和实现一个接口:
D. java的单一继承使代码更可靠。
正确答案:D
解析:Java采用单继承,即只能有一个父类,但可以实现多个接口。
二、程序题1、GeometricObject是几何图形抽象类,Circle类继承了 GeometricObject类,同时实现 了 Comparable<Circle>接口,三者的 UML 类图如下:提示:
Comparable<T>接I I在java.lang包中已经定义,不需要自己写。
解题要求:编写测试类,要求如下:
(1)创立Circle类的对象cl和c2,设定cl的半径为5, c2的半径为6。
(2)输出cl和c2的半径;cl的周长和面积;调用cl的compareTofCircle o)方法与c2 比拟,输出比拟结果。
(3)将cl的半径改为8,按照(2)中的要求输出信息。
(4)将cl的半径改为6,按照(2)中的要求输出信息。样例如下
package qiZhongKaoShi2;public class TestCircleComparable {
public static void main(String[] args){Circle cl = new Circle(5);
Circle c2 = new Circle(6);System.out.println("cl 的半径是"+ cl.getR());
System.out.println("c2 的半径是"+ c2.getR());System.out.println("cl 的周长是"+ cl.getPerimeter());
System.out.println("cl 的面积是"+ cl.getArea());if (cl pareTo(c2)==l)
System.out.println("cl 比 c2 大”);else if (cl pareTo(c2)==-l)
System.out.println("cl 比 c2 小");else
System.out.println("cl 与 c2 相等System.out.println();
cl = new Circle(8);System.out.println("cl 的半径是"+ cl.getR());
System.out.println("c2 的半径是"+ c2.getR());System.out.println("cl 的周长是"+ cl.getPerimeter());
System.out.println("cl 的面积是"+ cl.getArea());if (cl pareTo(c2)==l)
System.out.println("cl 比 c2 大”);else if (cl pareTo(c2)==-l)
System.out.println("cl 比 c2 小”);else
System.out.println("cl 与 c2 相等");System.out.println();
cl = new Circle(6);System.out.println("cl 的半径是"+ cl.getR());
System.out.println("c2 的半径是"+ c2.getR());System.out.println("cl 的周长是"+ cl.getPerimeter());
System.out.println("cl 的面积是"+ cl.getArea());if (cl pareTo(c2)==l)
System.out.println("cl 比 c2 大”);else if (cl pareTo(c2)==-l)
System.out.println("cl 比 c2 小,else
System.out.println("cl 与 c2 相等");}
}
abstract class GeometricObject{public abstract double getArea();
public abstract double getPerimeter();
)class Circle extends GeometricObject implements Comparable<Circle>{ private double r;
public Circle(){} public Circle(double r){this.r = r;
public double getR() { return r;)
public void setRfdouble r) { this.r = r;)
@Overridepublic double getArea() {
return Math.PI * r * r;)
(©Overridepublic double getPerimeter() { return 2 * Math.PI * r;
)@Override
public int compareTo(Circle o) { if (r > o.getR(l)return 1;
else if ( r< o.getR())return -1;
elsereturn 0;
附录资料:不需要的可以自行删除长方体和正方体知识要点
名称
面
棱
顶点
长方体
有6个面一般情况下6个面都 是长方形,相对的面完全相同
(特殊情况下有两个相对的面 是正方形,其余的4个面是完全 相同的长方形)
有12条棱
(相对的4条
棱的长度相
等)
有8个顶
占 八、、
正方体
有6个面 是6个完全相同的正
方形
有12条棱
12条棱的长度
都相等
有8个顶
点
长方体的棱长总和二长X4+宽义4+高X4或 长方体的棱长
总和=(长+宽+高)X4
正方体的棱长总和=棱长X12
长方体或正方体六个面的总面积,叫做它的外表积。
长方体的外表积=(长义宽+长X高+宽义高)X 2上面或下面 前面或后面左面或右面
正方体的外表积=棱长X棱长X 6一个面的面积6个面
物体所占空间的大小叫做物体的体积。
容器所能容纳物体的体积,叫做这个容器的容积。
常用的体积单位有:(立方厘米)、(立方分米)、(立方米)。
棱长1厘米的正方体,体积是1立方厘米。
棱长1分米的正方体,体积是1立方分米。
棱长1米的正方体,体积是1立方米。
计量液体的体积,常用(升)和(毫升)作单位。
1立方分米=1升1立方厘米=1毫升
长方体的体积二长X宽X高正方体的体积=棱长X棱长义棱长
V = abhV =a.a.a 或 V=a?读作a的立方表一3个a相乘。
长方体和正方体底面的面积,叫做它们的底面积。
长方体和正方体体积计算的统一公式:长方体(或正方体)的体积=底面积X高 V = sh
正方体的棱长扩大缩小假设干倍,它的外表积扩大或缩小这个倍数的 平方,体积扩大或缩小这个倍数的立方。
长方体的长、宽、高同时扩大缩小假设干倍,它的外表积扩大或缩小这 个倍数的平方,体积扩大或缩小这个倍数的立方。
分数乘法知识要点:
• 分数与分数相乘,用分子相乘的积作分子,分母相乘的积作分母。
• 分数与分数相乘的计算方法对于整数与分数相乘也适用,因为整 数可以化成分母是1的分数。
• 求一个数的几分之几是多少,用乘法计算。(求一个数的几倍是
多少,也用乘法计算)乘积是1的两个数互为倒数。
A、求一个分数的倒数,把它的分子和分母调换位置。
1
B、整数(0除外)的倒数是磁C、1的倒数是1 D、
。没有倒数。
E、真分数的倒数都大于1,假分数的倒数都小于或等于1。 分数除法知识要点1、甲数除以乙数(乙数不为0),等于甲数乘乙数的倒数。
2、一个数(不为0),乘一个小于1的数,得数比这个数小;乘一个 大于1的数,得数比这个数大。
3、被除数(不为0),除数大于1,商比被除数小;除数小于1,商比 被除数大;除数等于1,商等于被除数。
4、做分数乘除法应用题的注意点:
(1)找出关键句,确定单位〃甘、比拟量,看清单位“1〃是己知还是 未知。
(2)单位“1〃,求比拟量,用乘法计算。单位“1〃x分率=比拟量
单位〃 1〃未知,求单位〃 1〃,用方程或除法计算。对应量+对应分率=单位〃 1"
提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要 转换成int类型,就要调用Integer类的parselntO方法)并实现了 ComparabIe接口, 在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如以下图:
java, lang类 Integer
lanw, ObjectJ j aua・ lang. Number
L- java. lang. Integer
Coiroarablexlnteser/
所有已实现的接口
Serializable,
因此,Integer类中compareTo()方法的定义如下:
int compareTointeger pnotherInteger)-在题字上比拟两个Integer对象。
1I
因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2 的类型需要进行强制类型转换,由Object转为Integer:
System. out. pr intIn (n1. compareTo (n2));
正确写法如下:
System. out. pr intIn(n1. compareTo((Integer) n2));
类似的包装类还有Long\FIoat\DoubIe\Char\BooIean等,都是将基本数据类型包 装为类。
3、下面哪种类型不是引用数据类型?()
A.数组
B. char
C. String
D. Object
正确答案:B
解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种:
布尔类型:boolean5、求一个数是另一个数的几分之几用除法计算。(求一个数是另一 个数的几倍,也用除法计算)
求一个数的几分之儿是多少,用乘法计算。(求一个数的几倍是 多少,也用乘法计算)认识比知识要点
1、两个数的比表示求两个数相除,比的前项除以后项所得的商叫做比值。
•比与除数、分数的联系:
比
前项
后项
比值
除法
被除数
除数
商
分数
分子
分母
分数值
补充:比的后项不能为0。比值不能带单位名称。
3、比的基本性质:
比的前项和后项同时乘或除以相同的数(0除外),比值不变。
4、化简比的依据:比的基本性质。
5、化简比与求比值的区别化简比:化成最简单的整数比,有前项、后项和比号;求比值:是 前项除以后项所得的商。
认识百分数知识要点1表示一个数是另一个数的百分之几的数叫做百分数,也叫做百分率 或百分比。百分数通常用“%”来表示。百分号〃 % 〃是表示百分数的符号。 2、分母是100的分数不一定是百分数。
3、分数既可以表示一个数是另一个数的百分之几(分率),也可以 表示具体数量;百分数只表示一个数是另一个数的百分之几(分率)。 百分数不能带单位名称。
4 .小数化成百分数:只要把小数点向右移动两位,同时在后面添上 百分号;百分数化成小数:把百分数化成小数,只要把百分号去掉, 同时把小数点向左移动两位。
5 .分数化成百分数:通常先把分数化成小数(除不尽时,通常保存 三位小数),再把小数化成百分数。
6 .百分数化成分数:先把百分数改写成分数,能约分的要约成最简 分数。
7、求一个数是另一个数的几分之几用除法计算,求一个数是另一个 数的百分之几也用除法计算。
常用的数量关系式
1、每份数X份数=总数总数+每份数=份数
总数+份
数=每份数2、速度X时间=路程
2、速度X时间=路程
路程+速度=时间路程+时间
=速度3、单价X数量=总价总价+单价=数量总价♦数量
=单价
4、工作效率X工作时间=工作总量
工作总量+工作效率=工
作时间
工作总量♦工作时间=工作效率5、加数+加数=和
5、加数+加数=和
一个加数=和一另一个加数
6、被减数一减数=差
被减数=差+减数
减数=被减数-
7、因数X因数=积
一个因数=积+另一个因数
8、被除数=商乂除数
被除数+除数=商除数=被除数♦商
9、总数+总份数=平均数 10、相遇问题相遇路程=速度和义相遇时间相遇时间=相遇路程♦速度和
速度和=相遇路程+相遇时间运算定律
1 .加法交换律:
两个数相加,交换加数的位置,它们的和不变,即a+b=b+a。
2 .加法结合律:
三个数相加,先把前两个数相加,再加上第三个数;或者先把后两个数相加,再和第一个数相加它们的和不变,即(a+b)+c=a+(b+c) o
3 .乘法交换律:两个数相乘,交换因数的位置它们的积不变,即axb=bxao
4 .乘法结合律:
三个数相乘,先把前两个数相乘,再乘第三个数;或者先把后两个数 相乘,再和第一个数相乘,它们的积不变,即(axb)xc=ax(bxc)。
5 .乘法分配律:
两个数的和与一个数相乘,可以把两个加数分别与这个数相乘再把两 个积相加,即(a+b)xc=axc+bxc。
6 .减法的性质: 从一个数里连续减去几个数,可以从这个数里减去所有减数的和,差
不变,即a-b-c=a-(b+c)。
小学数学图形计算公式1、正方形周长=边长X4
1、正方形周长=边长X4
正方形面积=边长X边长
长方形周长二(长+宽)X2
长方形周长二(长+宽)X2
长方形面积二长X宽
2、三角形面积二底X高+ 2
三角形高二面积X2♦底 三角形底二
面积X2♦高 3、平行四边形面积二底X高
4、梯形面积二(上底+下底)X高小25、圆的周长=直径X刀或=2 X/1X半径圆面积=半径2X刀
常用单位换算
长度单位换算1千米=1000米1米=10分米1分米=10厘米1米=100厘米1厘
米=10毫米(1米=100厘米)面积单位换算
1平方千米=100公顷1公顷=10000平方米1平方米=100平方分米1平方分米=100平方厘米1平方厘米
=100平方毫米 1平方米=10000平方厘米体(容)积单位换算
1立方米=1000立方分米1立方分米=1000立方厘米1立方分米=1升
1立方厘米=1毫升1立方米=1000升质量单位换算
1吨=1000千克 1千克=1000克1千克=1公斤人民币单位换算
1元=10角 1角=10分1元=100分
字符类型:char整数类型:byte, short, int, long
浮点类型:float, double
引用数据类型包括类、接口、抽象类、数组(本质上是类),引用类型可以提供功 能。
注意:
String是一个类,所以可以使用String s = new Str i ng ("b i stu")的方式创立对 象;
数组也是一个类,所以需要用new创立对象。
4、类Test要定义一个无参数、无返回值的方法method,并能够通过Test.method。的方 式调用method方法,那么method方法的定义形式为()»
A. public static void method ()
B. public void method ()
C. public final void method ()
D. public abstract void method ()
正确答案:A
解析:静态方法(也叫类方法)可以不创立对象,而直接通过类名调用。
5、以下关于接口说法正确的选项是()。
A.抽象类中的方法不全都是抽象的,因此可以创立对■象。
B.接口的引用既可以调用实现类重写的接口的方法,也可以调用实现类新增的方 法。
C.接口的实现类可以实现接口的局部方法。
D.接口的方法都是抽象的,因此不可以创立对象。
正确答案:D
解析:选项A的前半句是对的,后半句错了。
选项B前半句是对的,后半句不对。例如如下:
public interface GeometricObject{public double getArea{);
)public class Circle implements GeometricObject {
public double getArea(){ .....}public double getPerimeter(){}
)public TestCircle{
public static void main(String[] args){GeometricObject c = new Circle();
c.getArea(); 〃访问实现类覆盖接口的方法可以c. getPerimeter() 〃错误:不可以访问实现类新增的方法
})
选项C错误,实现类必须实现接口的所有的抽象的方法。
6、将类的成员方法的访问权限设置为默认的,那么该成员方法能被()。
A.同一包中的类访问
B.其他包中的类访问
C.所有的类访问
D.所有的类的子类访问
正确答案:A
解析:注意此题可以继续扩展,例如把访问权限换成public/private/protected。
7、以下哪个是Java应用程序主类中正确的main方法声明?()
A. public void main(String[] args)
B. static void main(String[] ar)
C. public static void Main(String a[])
D. public static void main(String args[])
正确答案:D8、有一段java应用程序,其中包含一个公共类,名字为Cat,那么保存它的源文件名 是()
A. Cat.java
B. Cat.class
C. Cat
D.都对
正确答案:A
与第1个选择题类似。
9、以下哪个是JDK提供的编译器?()
B. javac.exe
C. javap.exe
D. javaw.exe
正确答案:B10> 某个源文件如下:public class TestPerson{}class Person{}class Student extends Person。那么保存它的源文件名是()
A. TestPerson.java
B. Person.java
C. Student.java
D. TestPerson.class
正确答案:A
参考第1、8题.
11、以下定义一位数组的语句中,正确的选项是(
A. int a[5];
B. int a[] =new [5];
C. int a[];int a = new int⑸;
D.inta[] = {U,3A5};
正确答案:D
选项A: java中的数组是类,需要使用new关键字创立。
选项B:落类型了,正确写法为int a[] = newint[5];
选项C:重自:定义变量a,正确写法:int a。;a = new int[5];
12、String类实现Comparable接口,覆盖其中的compareTo。方法。下面哪个是正确的
String类中被重写的compared)方法的方法头?
A. public int compareTo(String o)
B. public void compareTo(String o)
C. public int compareTo(Object o)
D. public void compareTo(Object o)
正确答案:A
解析:Comparable接口的定义如下:
方法摘要1Rt coapareTo(T o)
'比拟此对象与指定对象的顺序。
接口的实现类必须覆盖在接口中定义的抽象的方法,覆盖就意味在实现类中 的方法要与在接口中定义的抽象方法同名、同参、同返回值。
13,将类的某个成员方法的访问权限设置为protected的那么下面说法正确的选项是(X
A.同一包中的其他类不可以访问该方法
B.不同包中的子类可以访问该方法
C.所有包中的类都可以访问该方法
D.所有包中的类都不可以访问该方法。
正确答案:B
14、以下哪一个类声明是错误的?()
A. class A
B. public class A
C. protected class A
D. public abstract class A
正确答案:C
解析:类只能被默认或者public修饰符修饰,这是与成员变量和成员方法不一样的 地方。
15、下面关于数组和集合的说法,哪一个是错误的?()
A.数组的长度一旦确定,不能修改;
B.集合的长度可变,但是效率比数组低;
C.数组和集合都属于引用类型;
D.数组使用泛型指明所存储的对象的类型。
正确答案:D
解析:ArrayList是集合的一种类型。集合使用泛型指明所存储的对象的类型。
16、下面代码有错误的行是:。
1: public class Reviewl307{
2:public static void main(String[] args){
3:Number x = new lnteger(3);
4:System.out.println(x.int\/alue());
5:System.out.println(x pareTo(newlnteger(4)));
6:)
7:}
A. line 2
B. line 3
C. line 4
D. line 5
正确答案:D
解析:
(1) 查JDK帮助文档,Number是Integer的父类,Number没有实现Comparable 接口,而子类Integer实现了 Comparable接口,即子类Integer新增了 compareTo。方法。
(2) x的声明类型是Number,实际类型是Integer,根据父类引用不能调用子类 新增的方法的原那么,x不可以直接调用compareTo()方法。
(3)如果需要修改代码中的错误,可以进行强制类型转换,如下:
System.out.println(((lnteger)x) pareTo(new lnteger(4)));
17、inta口 = {1,4,7,256,0},该数组第1个和最后1个元素的下标为哪一项?
( )
A.0,7
B. 1,6
C. 0,6
D. 1,7
正确答案:C
18、假设an•是一个int类型的二维数组,下面关于an•的声明和初始化,哪一项为哪一项错误 的?()
A. int[][] arr = {{1,2},{3,4,5}};
B. int[][] arr = new int[2][3];
C. int(][] arr = new int[2][];
D. int[][] arr = new int[][3j;
正确答案:D
解析:Java的二维数组是由一维数组模拟的,例如如下:
没有第一维,就不会有第二维,所以,创立数组的时候,不能只指明第二维, 不指明第一维。但可以仅指明第一维,不指明第二维,如选项C。
19、下面说法哪一个是错误的?()
A.构造方法的名称与类名一样。
B.构造方法返回值可以为void。
C. 一个类可以有多个构造方法。
D.在一个类中可以使用this调用该类的其他构造方法。
正确答案:B
解析:构造方法的作用是创立对象,因此,本质上,构造方法是有返回值的,其返 回值就是它创立的对象。但是,由于即使不指明构造方法的返回值,JDK也知道其返回 值类型,因此,构造方法的返回值类型省略掉了。但是绝对不能用void, void表示没有 返回值。
20、下面关于接口的定义哪个是正确的?
A. interface A{void print() {};
)
B. abstract interface A extends I1,I2{abstract void print(){};
展开阅读全文