Java语言程序设计期末复习综合练习题docx.docx
《Java语言程序设计期末复习综合练习题docx.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计期末复习综合练习题docx.docx(25页珍藏版)》请在冰点文库上搜索。
Java语言程序设计期末复习综合练习题docx
Java语言程序设计期末复习综合练习题(含答案)-广西广播电视人学张统文2011-08-0910:
28
转载自hxzon
最终编辑xZone
Java语言程序设计期末复习综合练习题
(适用对象:
成人大专、普通专科、开放专科)
2002年6月
广四广播电视大学张统文
一、选择题。
1.编译JavaApplet源程序文件产生的字节码文件的扩展名为()。
A>javaB、classC^htmlD、exe
答:
B
2.main方法是JavaApplication程序执行的入口点,关T*main方法的方法头以下
哪项是合法的()?
A、publicstaticvoidmain()
13、publicstaticvoidmain(Stringargs[])
C、publicstaticintmain(String[]arg)
D、publicvoidmain(Stringarg[])
答:
B
3.为AB类的一个无形式参数无返冋值的方法method书写方法头,使得使用类名AB
作为前缀就可以调用它,该方法头的形式为()C
A、staticvoidmethod()B、publicvoidmethod()
答:
A
4•下列哪个是合法的Java标识符?
()
A^Tree&GlassesB、FirstJavaApplet
C^_$theLastOneD、273.5
答:
B>C
5.JavaApplication源程序的主类是指包含有()方法的类。
A、main方法B、toString方法
C、init方法D>actionPcrfromcd方法
答:
A
6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比
特位。
A、8B、16C、32D、64
答:
B
7.设a二8,则表达式a»>2的值是()。
A、1B、2C、3D、4
答:
B
8.若a的值为3时,下列程序段被执行后,c的值是多少?
()
c二1;
if(a>0)if(a>3)c二2;elsec=3;elsec二4;
A、1B、2C、3D、4
9.在编写JavaApplication程序时,若需要使用到标准输入输岀语句,必须在程序的开头写上()语句。
A、importjava,awt.*;B、importjava,applet.Applet;
C、importjava,io.*;importjava.awt.Graphics;
答:
C
10.对于构造函数,下列叙述正确的是()。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返冋类型只能是void型。
C、构造函数的主要作用是完成对类的对彖的初始化工作。
I)、一般在创建新对象时,系统会口动调用构造函数。
答:
ACD
11・下面的是关于类及具修饰符的一些描述,正确的是:
()o
A、abstract类只能用來派生子类,不能用來创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类屮声明,但abstract类定义中可以
没
有abstract方法。
答:
ACD
12.
若需要定义一个类域或类方法,应使用哪种修饰符?
()
答:
D
14.下列关于静态初始化器的叙述中,哪一个是正确的?
()
A>静态初始化器是在构造函数之前加上static修饰符。
B、静态初始化器是对类身进行初始化。
C、静态初始化器在同一个类中只能有一个。
D、静态初始化器是在其所加的类加载内存时由系统自动调用执行。
答:
BD
15.不使用static修饰符限定的方法称为对象(或实例)方法,卜-列哪一个说法是正
确的?
()
A、实例方法可以直接调用父类的实例方法。
B、实例方法可以直接调用父类的类方法。
C、实例方法可以直接调用其他类的实例方法。
I)、实例方法可以直接调用本类的类方法。
答:
BI)
16.
classPerson{
longid;//身份证号
Stringname;//姓名
classStildenlextendsPerson{intscore;//入学总分intgetScore(){
设有下面两个类的定义:
returnscore;
问:
类Person和类Student的关系是()。
A、包含关系B、继承关系
C、关联关系D、无关系,上述类定义有语法错误
答:
B、
17.设有下面的两个类定义:
classAA{
voidShow(){System,out.println("我喜欢Java!
”);
}
classBBextendsAA{
voidShow(){System,out.println(u我喜欢C++!
”);
}
则顺序执行如下语句后输岀结果为:
()
AAa;BBb;
a.Show();b.Show();
B、我喜欢C++!
我喜欢Java!
D、我喜欢C++!
我喜欢C++!
A、我喜欢Java!
我喜欢C卄!
C、我喜欢Java!
我喜欢Java!
答:
A
18.设有下面的一个类定义:
classAA{
staticvoidShow(){System,out.printin("我喜欢Java!
”);}
}
classBB{voidShow(){System,out.println("我喜欢C++!
”);}}
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:
()
B、AA.Show();
BB.Show();
D、a.Show();
BB.Show();
A^a.Show()b.Show()
C、AA.Show();b.Show();
答:
C
19.
型或顺序各不相同,传回的值也可以不相同。
A、隐藏B、覆盖
答:
C
20.对于构造函数,下列叙述正确的是(
这种面向对象程序特性称为()。
C、重载D、Java不支持此特性
)O
在Java屮,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类
A、构造函数也允许:
®载。
B、了类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
21.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
protected
D、public
A、private
C^privateprotected答:
D
22.设有下面两个赋值语句:
a二Integer,parselnt("1024”);
b=Integer.valueOf(u1024,,).intValue();下述说法正确的是()。
A、a是整数类型变量,b是整数类对彖。
B、a是整数类对彖,b是整数类型变量。
C、a和b都是整数类对彖并且它们的值相等。
D、a和b都是整数类型变量并且它们的值相等。
答:
D
)方法在Applet
23•在JavaApplet程序用户口定义的Applet子类中,常常重载(的界面屮显示文字、图形和其它界面元素。
B、stop()
D、paint()
A、start()
C、init()答:
D
24.下面的语句的作用是:
VectorMyVector二newVector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以
50
个元素空间单位递增。
D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以
50
个元素空间单位递增。
答:
D
25.在Java屮,存放字符串常量的对象属于()类对象。
A、CharacterB、String
C、StringBufferD、Vector
答:
R
26.在J“v3屮,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就
是()包。
A、java.ioB>java,awt
C、java.appletD、java,awt・event
答:
D
27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用
()类的对象来实现。
A、LabelB、Button
C、TextAreaD、TextField
答:
A
28.创建一个标识有“关闭”按钮的语句是()。
A、TextFieldb=newTextField("关闭”);
B、Labelb=newLabel("关闭”);
C、Checkboxb=newCheckbox("关闭”);
Buttonb=newButton("关闭”);
答:
D
29・在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对
应,使得用该语句块來启动Java的异常处理机制。
A、if-elseB、switchC、tryD、throw
答:
C
30.在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需耍在
程序的开头写上()语句。
importjava.awt.*;B、importjava,applet・*;
C^importjava.io.*;D、importjava,awt.event.*;
答:
D
31.对于子类的构造函数说明,下列叙述屮不止确的是()。
A、子类无条件地继承父类的无参构造函数。
13、子类可以在自己的构造函数屮使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
答:
D
二、填空题。
1.一个复杂的应用系统必然包括有多个对彖,这些对象间可能存在的关系有三种,它们
是:
、和。
答:
包含、继承、关联
2.设x二2,则表达式(x++)*3的值是。
答:
6
3.若x=5,y=10,则x>y和xUy的逻辑值分别为和。
答:
false、true
4.顺序执行以下两个语句的输出结果是:
o
Strings二“我喜欢学习Java!
";
System,out.println(s.length());
答:
10
5.据程序的构成和运行环境的不同,Java源程序分为两大
类:
程序和程序。
答:
JavaApplication、JavaApplet(或Application、Applet)
6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac
编译该源程序文件将产生个文件名与类名相同而扩展名为的字节码
文件。
答:
4、class
7.开发与运行Java程序需要经过的三个主要步骤
为、
答:
编辑源程序、编译生成字节码、解释运行字节码
8.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则
类MyApplet必须是类的子类并且存储该源程序文件的
文件名必须为。
答:
AppletsMyApplet.java
9.—个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:
答:
javacMyJavaApplication.java、javaMyJavaApplication
10.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字
符占用字节内存空间,这样,无论是中文字符还是英文字符,每个都是占
用字节内存空间。
答:
2、2
11.在Java程序中定义的类有两种成员:
、o
答:
域成员、方法成员
12.Jdv“源程序是由类定义组成的,每个程序屮可以定义若干个类,但是只有一个
类是主类。
在JavaApplication屮,这个主类是指包含方法的类;
在Java
Applet里,这个主类是一个系统类的子类。
答:
mainApplet
13.创建一个名为MyPackagc的包的语句是,
该语句应该放在程序的位置
为:
。
答:
packageMyPackage;应该在程序第一句。
14.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法
必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
答:
抽彖方法、最终方法(或abstract方法、final方法)
15.形式参数指的是方法被时的参数行,实际参数是方法被时所传递进去的变量或值。
在Java实现多态,另一种是使用方法
覆盖重载
重继承,但通过接口的定义
答:
定义、调用
16.多态是指
中有两种多态,一种是使用方法的的实现多态。
答:
一个程序中有多个同名的不同方法
17.在Javer程序中,通过类的定义只能实现
可以实现重继承关系。
答:
单、多
18.子类重新定义一个与从父类那里继承来的域变量完全和同的变量,这种面向对象程序设计特性称为域的。
答:
隐藏
19.字符串分为两大类,一类是字符串常量,使用类的对彖表示;
另一类是字符串变量,使用类的对象表示。
答:
String^StringBuffer
20.设有数组定义:
intMyTntArrayE]二{10,20,30,40,50,60,70,
80,90,100};
则执行以下几个语句后的输出结果是。
ints=0;
for(inti二0;i〈MylntArray.length;i++)
s+二MyIntArray[i];
Systcm.out.println(s);
答:
550
21.在Applet中,创建一个具有10行45列的多行文本区域对象ta的语句为:
答:
TextAreata=newTextArea(10,45);
22.创建一个标识有“广西广播电视大学”字样的标签对象gxdd的语句
为;创建一个标识有“关闭”字样的按钮
对象gb的语句为。
答:
Labelgxdd=newLabel("广西广播电视大学”);
Buttongb二newButton("关闭”);
【转】“Jam语言程序设计”期末复习题(续)(含答案)程序阅读部分
2011-08-0910:
28
转载自hxzon
最终编辑xZone
“Java语言程序设计”期末复习题(续)(含答案)程序阅读部分
三.程序阅读题
1.阅读以下程序:
classA
{publicstaticvoidmain(String[]args)
{Strings,si二"”;
charc;
s=args[0];
for(inti=0;i{c=s.charAt(i);
if(c>='a'&&cv='z'){
sl=sl+Character.toUpperCase(c);
System.out.println(sl);}
}
Hello
false
若在dos命令行输入:
javaAhELLO,则输出为
2.写出以下程序的运行结果。
publicclassEqualOrNot
{publicstaticvoidmain(String[]args)
(Bbl=newB(5);f;
Bb2=newB(5);
System.out.println(b1==b2);
System.out.println(bl.equals(b2));
}
}
classB
{intx;
B(inty){x=y;}
}
3.阅读以下程序:
importjava.io.*;
publicclassReadLineTest{
publicstaticvoidmain(String[]args){
BuffcrcdRcadcrb=ncwBuffcrcdRcadcr(newInputStrcamRcadcr(Systcm.in));
Strings;
System.out.flushO;
s=b.readLine();
System.out.println(s);
}
}
运行以上程序,若从键盘输入:
Helix冋车〉
则输出结果为Helloo
4.写出以下程序的功能。
复制文件a.txt到文件b.txt
importjava.io.*;
publicclassC{
publicstaticvoidmain(String[]args)throwsIOException{
FileinputFile=newFile(<FileoutpulFilc=newFile("b.txt");
FileReaderin=newFileReader(inputFile);
FileWriterout=newFileWriter(outputFile);
intc;
while((c=in.read())!
=-1)out.write(c);
in.close();
out.close();}
5.写出以下程序的功能。
计算命令行参数串大小写字母的个数并在屏幕上显示结果classTest
{publicstaticvoidmain(String[]args)
{Strings;
charc;
intupper,!
ower;
upper=lowei-0;
s=args[0];
for(inti=O;i{c=s.charAt(i);
if(c>='a'&&c<='z')lower++;
if(c>=A&&c<=,Z,)upper++;}
System.out.printlnCupper+^^+lower);}
}
6.以下程序段的输出结果为1234589。
publicclassC
{publicstaticvoidmain(Stringargs[J){
inti,j;
inta[]={2,1,4,8,9,5,3};
for(i=0;iintk=i;
for(j=i;jif(a|j]inttemp=a[i];
a[i]=a[k];
a[k]=temp;}
for(i=0;iSysteni.out.print(a[i]+MH);
System.out.println();)
}
7.写出以下程序的运行结果。
nolno2no3
importjava.util.*;nolno3
publicclassVec{
publicstaticvoidmain(String[]args){
String[]s;
s=newString[2];
s[0]=newStringC'nol");
s[1]=newString("no2");
Vectorv=newVector();
for(inti=0;i<2;i++)v.addElement(s[i]);
v.insertElementAt(newString(uno3n),2);
Enumeratione=v.elements();
while(e.hasMoreElements())System・out・print(e・nextElement()+””);
System.out.printlnO;
v.rcmovcElcmcnt(Hno2n);
for(inti=0;iSystem.out.println();)
}
8.写出以下程序的运行结果。
classStaticTest{
staticintx=l;
inty;
StaticTest()
{y++;}X=2
publicstaticvoidmain(Stringargs[]){st.y=l
StaticTestst=newStaticTest();st.y=l
System.out.println(Hx=M+x);
System.out.println(Mst.y=n+st.y);
st=ncwStaticTcst();
System.out.println(nst.y=n+st.y);
}
static{x++;}
}
9.写出以下程序的运行结果。
x=0
classStaticStuff
x=5
x=2
staticintx;
static{System.out.println(Mx=M+x);x+=5;}publicstaticvoidmain(Stringargs[]){
System.out.println(Hx=M+x);
}
static{System.out.println(nx=u+x);x%=3;}}
10.以下程序段的输出结果为int,int
classCruncherf
voidcrunch(inti){
System.out.printCInt^);}
voidcrunch(Strings){
Syslem.out.printCSring”);}
pub