java程序设计期末复习题库Word文档下载推荐.docx
《java程序设计期末复习题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java程序设计期末复习题库Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
。
14、main方法的声明格式统一为__(13)____。
15、面向对象技术的三个特点是封装、继承和__(17)____。
16、编写一个输出"
HelloWorld!
"
的程序,用两种方式实现(Application、Applet)
第二章JAVA语言基础
1、如下哪些是Java中正确的整数表示()
A、22B、22.0C、-22.03D、22H
2、执行invoke方法后的输出结果是
publicStringchangePara(Strings){
s=s+"
a"
;
}
publicvoidinvoke(){
Strings="
b"
changePara(s);
System.out.println(s);
3、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60};
则执行以下几个语句后的输出结果是________
ints=0;
for(inti=0;
i<
MyIntArray.length;
i++)
if(i%2==1)s+=MyIntArray[i];
4、用I/O流输入一个整数,编程判断该数是否为素数。
5、编译运行以下程序后,关于输出结果的说明正确的是()
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=1;
System.out.println(“valueis“+((x<
1)?
1.0:
0));
A、输出结果为:
valueis1.0B、输出结果为:
valueis0
C、输出结果为:
valueis0.0D、编译错误
6、若数组a定义为int[][]a=newint[3][4],则a是
A、一维数组
B、二维数组
C、三维数组
D、四维数组
7、写出以下程序的输出结果。
publicclassEqualsMethod{
publicstaticvoidmain(String[]args){
Integern1=newInteger(12);
Integern2=newInteger(12);
System.out.print(n1==n2);
System.out.print(“,”);
System.out.println(n1!
=n2);
}
8、写出以下程序的输出结果。
classLabelBreak{
intx=20;
Label1:
{
System.out.print(“one,”);
if(x>
10)breakLabel1;
System.out.print(“two,”);
}
System.out.println(“three”);
9、编写一个Java程序,用来计算汇款额。
如果汇款额小于100元,则收取1元的费用。
如果汇款额大于100元而小于5000元,则按汇款额除以100作为收取的费用。
如果汇款额大于5000元,则收取50元的费用。
在命令行输入汇款额,在控制台输出应付的费用(如输入javaCount4001.4,则输出“应付汇款费用40.014元”)
10、选出合法的标识符
A、+sys1_lllB、2mailC、$changeD、class
11、以下代码段执行后的输出结果为()。
intx=3;
floaty=10.0f;
System.out.println(y%x);
A、不能成功编译B、-1.0C、1.0D、-1
12、指出下列程序运行的结果。
publicclassExample{
Stringstr=newString("
good"
);
char[]ch={'
a'
'
b'
c'
};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"
and"
Sytem.out.print(ex.ch);
}
publicvoidchange(Stringstr,charch[]){
str="
testok"
ch[0]='
g'
13.Java中有八种基本数据类型,其英文名称分别是:
short、byte、(5)、(6)、float、(7)、(8)、char。
14.在Java语言中,布尔常量只有(9)和(10)两个值。
15.设有如下的程序代码,在执行完后x、y和z的值分别是(18)、(19)和(20)、
intx=8,y=2,z;
x=++x*y;
z=x/y++;
16.有以下方法的定义,该方法的返回类型ReturnType应为()。
ReturnTypemethod(bytex,doubley)
{return(short)x/y*2;
}
A、byteB、shortC、intD、double
17、编写一个Java程序,求1!
+3!
+5!
+……+9!
的值,并输出结果。
18.在Java中定义一个字符串类型的变量str的语句是:
(3),定义一个具有10个元素的整型数组a的语句是:
(4)。
19.下列不属于Java保留字的一个是()。
A、elseB、UnicodeC、charD、static
20.有语句Strings=”helloworld”;
,以下操作哪个是不合法的?
()
A、inti=s.length();
B、s>
>
=3;
C、Stringts=s.trim();
D、Stringt=s+”!
”;
21.若x=5,y=10,则x<
y和x>
=y的逻辑值分别为(9)和(10)。
22.下列程序段执行后,t3的结果是(18)。
intt1=2,t2=3,t3;
t3=t1<
t2?
t1:
t2+t1;
23.以下哪个不是Java的关键字?
A、TRUEB、constC、superD、void
24.下列程序中,给出两个整数2和3,要求调用Count类的方法method()来输出两数的和,输出结果如“2+3=5”,请将程序补充完整。
publicclassCount{
publicstaticvoidmain(String[]args){
intnl=2,n2=3:
Countobj=newCount();
___________________;
\\调用method方法输出计算结果
publicvoidmethod(intx,inty){
System.out.println(__________);
\\输出x、y两数的和
25、执行下列语句:
intm,n,i=3,j=2;
m=i++;
n=--j;
则m=__(6)___、n=__(7)____、i=__(8)___、j=__(9)__。
26、设有数组的定义int[]a=newint[3];
,则下面对数组元素的引用错误的是()。
(A)a[0];
(B)a[a.length-1];
(C)a[3];
(D)inti=1;
a[i];
27、下列属于合法的Java标识符是()。
(A)_cat(B)5books(C)+static(D)-3.14159
28、下面的代码段中,执行之后count的值是()
intcount=1;
for(inti=1;
=5;
i++)
count=count+i;
System.out.println(count);
(A)5(B)1(C)15(D)16
29.转义字符‘\n’的含义是_______。
30.阅读下列代码
public
class
Person{
int
arr[]=new
int[10];
public
static
void
main(String
args[]){
System.out.println(arr[1]);
}
}
正确的说法是
()。
A.
编译时将产生错误
B.
编译时正确,运行时将产生错误
C.
输出零
D.
输出空
31.inta=10,b=11,c=12;
表达式(a+b)<
c&
&
b==c的值是_______。
32、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5C.4D.5
第三章类与对象
1.定义类的关键字为_______。
2._______方法,不需要类的实例化对象,可以直接通过类名来调用。
3.构造方法的方法名必须与_______名相同。
使用运算符_______创建类的对象,给对象分配内存空间。
4.下列构造方法的调用方式中,正确的是()。
A.按照一般方法调用B.由用户直接调用
C.只能通过new自动调用D.被系统调用
5.下列代码中,将引起一个编译错误的行是()。
1)public
Test{
2)
int
m,n;
3)
Test()
{}
4)
Test(int
a)
{m=a;
5)
6)
Test
t1,t2;
7)
j,k;
8)
j=0;
k=0;
9)
t1=new
Test();
10)
t2=new
Test(j,k);
11)
12)}
A.第3行
B.第5行
C.第6行
D.第10行
6.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是()。
A.java.appletB.java.awtC.java.utilD.java.lang
7.在Java中,用package说明一个包时,该包的层次结构必须是()。
A.与文件的结构相同B.与文件目录的层次相同
C.与文件类型相同D.与文件大小相同
8、不是类及类成员的访问修饰符的是()。
A.publicB.privateC.staticD.protected
9、为A类的一个无参数无返回值的方法method书写方法头,使用类名A作为前缀就可以调用它,该方法头的形式为_______。
10、以下关于构造函数的描述错误的是()。
(A)构造函数的返回类型只能是void型。
(B)构造函数是类的一种特殊函数,它的方法名必须与类名相同。
(C)构造函数的主要作用是完成对类的对象的初始化工作。
(D)一般在创建新对象时,系统会自动调用构造函数。
11、写一个Circle类,有成员属性radius,成员方法getArea()。
在Circle类基础上定义圆柱体类Cylinder,新增属性height、成员方法getVolume()。
定义一个类Run,计算底面半径为3,高为5圆柱体的体积,并打印输出。
(15分)
12、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的()
classA
{inti;
staticStrings;
voidmethod1(){}
staticvoidmethods(){}
A.System.out.println(a.i);
B.a.method1();
C.A.method1();
D.A.method2();
13、写出以下程序的输出结果。
classTest{
staticintnum;
intc;
publicTest(){
num++;
publicstaticvoidmain(String[]args){
Testx=newTest();
System.out.print(x.num);
x=newTest();
System.out.print(x.num);
x=newTest();
System.out.println(x.num);
14.可以通过类名直接调用的方法是______方法。
15.创建一个名为mypackage的包的语句是______,该语句应放在程序的位置为__________。
16.设有下面两个赋值语句:
a=Integer.parseInt(“123”);
b=Integer.valueOf(“123”).intValue();
下述说法正确的是()。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
17.以下代码段将在内存中创建()个对象。
Strings1="
bc"
Strings2="
A、0B、1C、2D、3
18.有以下程序片段,下列哪个选项不能插入到行1。
1.
2.publicclassInteresting{
3.//dosth
4.}
A、importjava.awt.*;
B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
19.要使类中的某个成员变量只能被同一个包中的类访问到,该
用什么修饰符修饰?
A、protectedB、publicC、privateD、应不加修饰符
12.以下哪个修饰符访问权限最大?
A、protectedB、publicC、privateD、default(缺省)
14.关于以下application的说明,正确的是()。
1.classStaticStuff
2.{
3.staticintx;
4.static{x+=5;
5.publicstaticvoidmain(Stringargs[])
6.{
7.System.out.println(“x=”+x);
8.}
9.static{x/=5;
10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:
x=1
D、能通过编译,但程序运行结果不可预知,因为x没有初始化
第四章继承与多态
1.在Java中,所有类的根类是()。
A.java.lang.ObjectB.java.lang.Class
C.java.applet.AppletD.java.awt.Frame
2.若特快订单是一种订单,则特快订单类和订单类的关系是()。
A、使用关系
B、继承关系
C、包含关系
D、无关系
3.下面是一个源程序中定义的两个类A和B,将程序补充完整。
publicclassA_________B
publicstaticvoidmain(String[]x)
{Aa=newA();
a.myfunc2();
publicvoidmyfunc1()
{System.out.println(“myfunc1”);
publicvoidmyfunc2()
{this.myfunc1();
___________.myfunc2();
//调用父类的方法
____________classB
{abstractpublicvoidmyfunc1();
publicvoidmyfunc2()
{System.out.println(“myfunc2”);
4、子类必须通过___(10)___关键字调用父类有参数的构造函数。
5、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为()。
A、隐藏B、覆盖C、重载D、Java不支持此特性
6、在Java中,子类可定义与父类方法同名的方法,这些方法的形式参数相同,传回值类型也相同。
6、类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、privatefloataMethod(inta,intb,intc){}
classA{
publicA(){
System.out.print(“A”);
publicclassBextendsA{
publicB(){
System.out.print(“B”);
newB();
8.方法publicvoidMethodOverload(inti,doubled){}的重载方法是:
A.privateintMethodOverload1(inti,intj){returni;
B.protectedvoidMethodOverload(inti,doubled){}
C.publicdoubleMethodOverload(doubled){returnd;
D.publicintMethodOverload(inti,doubled){returni;
9.下列程序中定义了两个类,请将程序补充完整。
publicclassFather{
intnumber;
publicFather(intnumber){
___________________\\给Father的实例变量number赋值
}
classChildextendsFather{
publicChild(intn){
__________________\\调用父类的构造方法构造Child对象
10.覆盖与重载的关系是( )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B、覆盖方法可以不同名,而重载方法必须同名
C、final修饰的方法可以被覆盖,但不能被重载
D、覆盖与重载是同一回事
第五章接口与内部类
1、在Java程序中,通过类的定义只能实现继承,但通过接口的定义可以实现继承。
2、下列哪个声明是正确的?
A.abstractfinalclassHI{·
·
B.abstractprivatemove(){·
C.protectedprivatenumber;
D.publicabstractclassCar{·
3、abstract修饰方法,则该方法称为____,不允许其子类________。
abstract修饰类,则该类称为____,不能_________。
4、若在某一个类定义中定义有如下的方法:
finalvoidaFinalFunction();
则该方法属于()。
A、本地方法B、解态方法C、最终方法D、抽象方法
5、以下哪个接口的定义是正确的?
(