java复习题Word文档下载推荐.docx
《java复习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java复习题Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
![java复习题Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/2/e7b1debe-8f75-4884-a801-56fad49a025c/e7b1debe-8f75-4884-a801-56fad49a025c1.gif)
2.Java语言的源程序不就是编译型的,而就是编译解释型的。
3.JavaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。
5.Java程序中不区分大小写字母。
(×
)
6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。
8.当前路径的标识就是“、”。
(√)
9.java命令不区分大小写,而javac命令区分大小写。
11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名、class。
第2章Java语言基础
习题二
一、填空题
1.已知:
inta=8,b=6;
则:
表达式++a-b++的值为(3)。
2.已知:
booleanb1=true,b2;
表达式!
b1&
&
b2||b2的值为(false)。
3.已知:
doublex=8、5,y=5、8;
表达式x++>
y--值为(true)。
4.已知:
inta[]={2,4,6,8};
表达式(a[0]+=a[1])+++a[2]值为(13)。
5.执行intx,a=2,b=3,c=4;
x=++a+b+++c++;
结果就是(x=10,a=3,b=4,c=5)。
6.Java中的显式类型转换既能(从低类型向高类型转换)也能从高类型向低类型转换,而隐式类型转换只有前者。
7.在Java中,字符串与数组就是作为(对象)出现的。
8.执行下列程序代码的输出结果就是(10,11,11)。
inta=10;
inti,j;
i=++a;
j=a--;
System、out、printf("
%d,%d,%d"
a,i,j);
9.执行完booleanx=false;
booleany=true;
booleanz=(x&
y)&
(!
y);
intf=z==false?
1:
2;
这段代码后,z与f的值分别就是(false)与
(1)。
二、选择题
1.下面哪些标识符在Java语言中就是合法的?
(AB)
A.persons$B.TwoUsersC.*pointD.instanceofF、end-line
2.下列(D)就是合法标识符。
A.2endB.-helloC.=ABD.整型变量
3.已知inti=2147483647;
++i;
则i的值等于(A)。
A.-2147483648B.2147483647C.2147483648D、-1
4.若x=5,y=8,则表达式x|y的值为(B)。
A.3B.13C.0D.5
5.若定义有变量floatf1,f2=8、0F,则下列说法正确的就是(B)。
A.变量f1,f2均被初始化为8、0B.变量f1没有被初始化,f2被初始化为8、0
C.变量f1,f2均未被初始化D.变量f2没有被初始化,f1被初始化为8、0
6.基本数据类型short的取值范围就是(B)。
A.(-256)~255B.(-32768)~32767C.(-128)~127D.0~65535
7.下列(B)就是不能通过编译的语句。
A.doubled=545、0;
B.chara1=“c”;
C.inti=321;
D.floatf1=45、0f;
8.若定义有shorts;
byteb;
charc;
则表达式s*b+c的类型为(C)。
A.charB.shortC.intD.byte
9.下列循环语句的循环次数就是(B)。
inti=5;
do{System、out、println(i--);
i--;
}while(i!
=0);
A.5B.无限C.0D.1
10.下列代码哪几行会出错?
1)publicvoidmodify(){
2)intI,j,k;
3)I=100;
4)while(I>
0){
5)j=I*2;
6)System、out、println("
Thevalueofjis"
+j);
7)k=k+1;
8)I--;
9)}
10}
A.line4B.line6C.line7D.line8
11.下列关于数组的定义形式,哪些就是错误的?
(ABC)
A.int[]c=newchar[10];
B.int[][3]=newint[2][];
C.int[]a;
a=newint;
D.charb[];
b=newchar[80];
12.执行String[]s=newString[10];
语句后,哪些结论就是正确的?
(BC)
A.s[0]为未定义B.s、length为10
C.s[9]为nullD.s[10]为"
"
13.下列关于Java语言的数组描述中,错误的就是(D)。
A.数组的长度通常用length表示B.数组下标从0开始
C.数组元素就是按顺序存放在内存的D.数组在赋初值与赋值时都不判界
14.下面的表达式哪些就是正确的?
(ACE)
A.Strings="
您好"
;
inti=3;
s+=i;
B.Strings="
if(i==s){s+=i};
C.Strings="
s=i+s;
D.Strings="
s=i+;
E、Strings=null;
inti=(s!
=null)&
(s、length()>
0)?
s、length():
0;
15.下列代表十六进制整数的就是(C)。
A.012345B.2008C.0xfa08D.fb05
16.在switch(expression)语句中,expression的数据型不能就是(C)。
A.charB.shortC.doubleD.byte
17.下列说法正确的就是(AC)。
A.表达式“1+2>
3”的值就是falseB.表达式“1+2||3”就是非法的表达式
C.表达式“i+j=1”就是非法的表达式D.表达式“1+2>
3”的值就是true
18.指出正确的表达式(B)。
A.byte=128;
B.longl=0xfffL;
C.Boolean=null;
D.double=0、9239d;
19.publicclassT18{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System、out、println(arr[1]);
}
}
哪个语句就是正确的?
A.编译时将产生错误B.编译时正确,运行时将产生错误
C.输出零D.输出空
20.若Strings="
hello"
Stringt="
charc[]={'
h'
'
e'
l'
o'
};
则下列哪些表达式返回true?
A.s、equals(t);
B.t、equals(newString("
));
C.t、equals(c);
D.s==t;
21.执行下面的代码段:
switch(m){case0:
System、out、println("
case0"
);
case1:
case1"
break;
case2:
default:
default"
下列m的哪些值将引起"
的输出?
(CD)
A.0B.1C.2D.3
三、判断题
1.Java语言使用的就是Unicode字符集,每个字符在内存中占8位。
2.Java语言中不同数据类型的长度就是固定的,不随机器硬件不同而改变。
3.所有的变量在使用前都必须进行初始化。
4.已知bytei=(byte)127;
i=i+1;
这两个语句能被成功编译。
5.Stringstr="
abcdefghi"
charchr=str、charAt(9);
(×
6.char[]chrArray={'
a'
'
b'
c'
d'
f'
g'
};
charchr=chrArray[6];
7.inti,j;
booleanbooleanValue=(i==j);
8.intintArray[]={0,2,4,6,8};
intlength=intArray、length();
9.Stringstr="
abcedf"
intlength=str、length;
10.shortshortValue=220;
bytebyteValue=shortValue;
11.int[]intArray[60];
12.char[]str="
abcdefgh"
13.说明或声明数组时不分配内存大小,创建数组时分配内存大小。
14.强制类型转换运算符的功能就是将一个表达式的类型转换为所指定的类型。
第3章Java语言面向对象基础
习题三
1.类就是一组具有相同(属性)与(行为)的对象的抽象。
(实例)就是由某个特定的类所描述的一个个具体的对象。
2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。
7.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。
8.在方法体内定义的变量就是(局部变量),其前面不能加(public),且必须(初始化)。
10.对象作方法形参时,方法实参也用对象,实现(引用)调用。
11.(new)就是一个特殊的方法,用于创建一个类的实例。
13.(类)方法不能直接访问其所属类的(实例)变量与(实例)方法,只可直接访问其所属类的(类)变量与(类)方法。
14.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;
每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。
15.Java使用固定于首行的(package)语句来创建包。
16.在运行时,由java解释器自动引入,而不用import语句引入的包就是(java、lang)。
1.下面关于封装性的描述中,错误的就是(D)。
A.封装体包含属性与行为B.被封装的某些信息在外不可见
C.封装提高了可重用性D.封装体中的属性与行为的访问权限相同
2.下面关于类方法的描述,错误的就是(B)。
A.说明类方法使用关键字staticB.类方法与实例方法一样均占用对象的内存空间
C.类方法能用实例与类名调用D.类方法只能处理类变量或调用类方法
3.下面关于包的描述中,错误的就是(A)。
A.包就是若干对象的集合B.使用package语句创建包
C.使用import语句引入包D.包分为有名包与无名包两种
4.下述哪些说法就是正确的?
A.用static关键字声明实例变量B.实例变量就是类的成员变量
C.局部变量在方法执行时创建D.局部变量在使用之前必须初始化
1.类就是一种类型,也就是对象的模板。
2.类中说明的方法可以定义在类体外。
3.实例方法中不能引用类变量。
4.创建对象时系统将调用适当的构造方法给对象初始化。
5.使用运算符new创建对象时,赋给对象的值实际上就是一个引用值。
6.对象赋值实际上就是同一个对象具有两个不同的名字,它们都有同一个引用值。
7.对象可作方法参数,对象数组不能作方法参数。
8.class就是定义类的惟一关键字。
9.Java语言会自动回收内存中的垃圾。
第4章Java语言面向对象高级程序设计
习题四
3.类成员的访问控制符有(public)、(protected)、(private)与默认四种。
4.public类型的类成员可被(同一类)、同一包中的(子类与非子类)与不同包中的(子类与非子类)的代码访问引用。
5.protected类型的类成员可被(同一类)、同一包中的(子类与非子类)与不同包中的(子类)的代码访问引用。
6.default类型的类成员只能被(同一类)、同一包中的(子类与非子类)的代码访问引用。
7.private类型的类成员只能被其所在类中的代码访问引用,它只具有(类)域访问性。
8.系统规定用(this())表示当前类的构造方法,用(super())表示直接父类的构造方法,在构造方法中两者只能选其一,且须放在第一条语句。
9.若子类与父类在同一个包中,则子类继承父类中的(public)、(protected)与(默认)成员,将其作为子类的成员,但不能继承父类的(private)成员。
10.若子类与父类不在同一个包中,则子类继承了父类中的(public)与(protected)成员,将其作为子类的成员,但不能继承父类的(默认)与(private)成员。
11.(子类对象)直接赋值给(父类对象)时,子类对象可自动转换为父类对象,(父类对象)赋值给(子类对象)时,必须将父类对象强制转换为子类对象。
12.Java的多态性主要表现在(方法重载)、(方法覆盖)与(变量覆盖)三个方面。
13.重写后的方法不能比被重写的方法有(更严格)的访问权限,重写后的方法不能比被重写的方法产生更多的异常。
14.Java语言中,定义子类时,使用关键字(extends)来给出父类名。
如果没有指出父类,则该类的默认父类为(Object类)。
15.Java语言中,重载方法的选择就是在编译时进行的,系统根据(参数个数)、(参数类型)与参数顺序寻找匹配方法。
16.实现接口中的抽象方法时,必须使用(完全相同)的方法头,并且还要用(public)修饰符。
17.接口中定义的数据成员均就是(常量数据成员),所有成员方法均为(抽象方法)方法,且没有(构造)方法。
18.this代表(当前对象自身)的引用,super表示的就是当前对象的直接父类对象。
19.如果一个类包含一个或多个abstract方法,则它就是一个(abstract)类。
20.Java不直接支持多继承,但可以通过(接口)实现多继承。
类的继承具有(传递)性。
21.没有子类的类称为(最终类),不能被子类重载的方法称为(最终方法),不能改变值的量称为常量,又称为(最终变量)。
22.一个接口可以通过关键字extends来继承(多个)其她接口。
23.接口中只能包含(publicstaticfinal)类型的成员变量与(publicabstract)类型的成员方法。
24.一般地,内部类又分为定义在方法体外的(成员类)与定义在方法体内的(局部类)两种。
25.静态内部类可直接通过外部类名引用,其一般格式就是(new外部类名、内部类构造方法();
)。
26.匿名类一般分为(语句匿名类)与(参数匿名)类两种。
二、简答题
1.什么就是继承?
什么就是父类?
什么就是子类?
继承的特性可给面向对象编程带来什么好处?
什么就是单继承?
什么就是多重继承?
2.如何创建一个类的子类?
3.若在一个public类中的成员变量及成员方法的访问控制符为protected,则此类中的成员可供什么样的包引用?
4.什么就是多态?
使用多态有什么优点?
Java中的多态有哪几种?
重载方法与覆盖方法分别属于哪种多态?
5.什么就是重载方法?
什么就是覆盖方法?
它们的主要区别就是什么?
6.什么就是成员变量的继承?
什么就是成员变量的覆盖?
8.简述接口定义的一般格式。
9.什么就是接口?
如何定义接口?
接口与类有何区别?
10.一个类如何实现接口?
实现某接口的类就是否一定要重载该接口中的所有抽象方法?
11.比较接口与抽象类的异同。
12.什么就是抽象类?
什么就是抽象方法?
各自有什么特点?
13.什么就是最终类?
什么就是最终变量?
什么就是最终方法?
14.简述内部类的类型。
15.简述在外部类的内部与外部对实例成员类实例化的方法。
三、选择题
1.下面关于类的继承性的描述中,错误的就是(C)。
A.继承就是在已有的基础上生成新类的一种方法
B.Java语言要求一个子类只有一个父类
C.父类中成员的访问权限在子类中将被改变
D.子类继承父类的所有成员,但不包括私有的成员方法
2.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其她类与其她包的该类子类的修饰符就是(B)。
A.默认B.protectedC.privateD.public
3.在类的修饰符中,规定只能被同一包类所使用的修饰符就是(B)。
A.publicB.默认C.finalD.abstract
4.下列关于子类继承父类的成员描述中,错误的就是(C)。
A.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。
B.方法重载就是编译时处理的,而方法覆盖就是在运行时处理的。
C.子类中继承父类中的所有成员都可以访问。
D.子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;
子类执行自己的操作中,使用自己定义的变量。
5.定义一个类名为“MyClass、java”的类,并且该类可被一个工程中的所有类访问,则下面哪些声明就是正确的?
A.publicclassMyClassextendsObjectB.publicclassMyClass
C.privateclassMyClassextendsObjectD.classMyClassextendsObject
6.下列关于继承性的描述中,错误的就是(C)。
A.一个类可以同时生成多个子类B.子类继承了父类中除私有的成员以外的其她成员
C.Java支持单重继承与多重继承D.Java通过接口可使子类使用多个父类的成员
7.下列关于抽象类的描述中,错误的就是(C)。
A.抽象类就是用修饰符abstract说明的B.抽象类就是不可以定义对象的
C.抽象类就是不可以有构造方法的D.抽象类通常要有它的子类
8.设有如下类的定义:
publicclassparent{
intchange(){}
}
classChildextendsParent{}
则,下面哪些方法可加入Child类中?
A.publicintchange(){}B.intchang(inti){}
C.privateintchange(){}D.abstractintchang(){}
9.下列关于构造方法的叙述中,错误的就是(D)。
A.构造方法名与类名必须相同B.构造方法没有返回值,且不用void声明
C.构造方法只能通过new自动调用D.构造方法不可以重载,但可以继承
10.下面叙述中,错误的就是(C)。
A.子类继承父类B.子类能替代父类C.父类包含子类D.父类不能替代子类
11.下列对多态性的描述中,错误的就是(B)。
A.Java语言允许方法重载与方法覆盖B.Java语言允许运算符重载
C.Java语言允许变量覆盖D.多态性提高了程序的抽象性与简洁性
12.下面关于接口的描述中,错误的就是(A)。
A.一个类只允许继承一个接口B.定义接口使用的关键字就是interface
C.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现
D.接口实际上就是由常量与抽象方法构成的特殊类
13.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法就是正确的?