《JAVA语言程序设计》期末考试试题及答案.docx
《《JAVA语言程序设计》期末考试试题及答案.docx》由会员分享,可在线阅读,更多相关《《JAVA语言程序设计》期末考试试题及答案.docx(42页珍藏版)》请在冰豆网上搜索。
![《JAVA语言程序设计》期末考试试题及答案.docx](https://file1.bdocx.com/fileroot1/2022-11/21/53d75746-dc80-4235-b2f5-3dd8045cdec9/53d75746-dc80-4235-b2f5-3dd8045cdec91.gif)
《JAVA语言程序设计》期末考试试题及答案
《JAVA语言程序设计》期末考试试题及答案
(应考必备题库)
一、单选择题
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
A.javaB..class
C.htmlD..exe
2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5
C.4D.5
3、不允许作为类及类成员的访问控制符的是()。
A.publicB.private
C.staticD.protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
二、填空题
1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、
编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占
用2字节内存空间,这样,无论是中文字符还是英文字符,都是占
用2字节内存空间。
3、设x=2,则表达式(x++)/3的值是0。
4、若x=5,y=10,则x=y的逻辑值分别为true和false。
5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终(final)方法是不能被当前类的子类重新定义的方法。
6、创建一个名为MyPackage的包的语句是packageMyPackage;,
该语句应该放在程序的位置为:
应该在程序第一句。
7、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;i<;i++)
if(i%2==1)
s+=MyIntArray[i];
8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
三、写出下面程序的运行结果
1、import.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("Hello!
","IloveJAVA.");
}
}
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
}
publicStringtoString()
{
returns1+s2;
}
}
运行结果:
Hello!
IloveJAVA.
2、import.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;i<;i++)
if(a[i]%3==0)s+=a[i];
}
}
运行结果:
s=180
3、import.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
}
}
classSubClassextendsSuperClass
{intc;
SubClass(intaa,intbb,intcc)
{
super(aa,bb);
c=cc;
}
}
classSubSubClassextendsSubClass
{inta;
SubSubClass(intaa,intbb,intcc)
{super(aa,bb,cc);
A=aa+bb+cc;
}
voidshow()
{
}
}
运行结果:
a=60
b=20
c=30
《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)
一.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(√)
2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
(×)
3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
(×)
4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
(×)
5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。
(√)
6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
(√)
7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
(×)
8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)
9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
(×)
二.单项选择题
1.Javaapplication中的主类需包含main方法,以下哪项是main方法的正确形参()
A、StringargsB、Stringar[]C、CharargD、StringBufferargs[]
2.以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
3.paint()方法使用哪种类型的参数()
A、GraphicsB、Graphics2DC、StringD、Color
4.以下哪个不是Java的原始数据类型()
A、intB、BooleanC、floatD、char
5.以下哪项可能包含菜单条()。
A、PanelB、FrameC、AppletD、Dialog
6.若需要定义一个类域或类方法,应使用哪种修饰符()
A、staticB、packageC、privateD、public
7.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行()。
A、init()B、start()C、destroy()D、stop()
8.给出下面代码,关于该程序以下哪个说法是正确的()
publicclassPerson{
staticintarr[]=newint[5];
publicstaticvoidmain(Stringa[])
{
0]); }
}
A、编译时将产生错误B、编译时正确,运行时将产生错误
C、输出零D、输出空
9.下列哪些语句关于Java内存回收的说明是正确的()
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
10.以下哪个关键字可以用来对对象加互斥锁()
A、transientB、synchronizedC、serializeD、static
11.以下代码段执行后的输出结果为()
intx=-3;
inty=-10;
A、-1B、2C、1D、3
12.有以下程序片段,下列哪个选项不能插入到行1。
()
1.
2.publicclassInteresting{
3.
A、import.*;B、packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
13.设有下面两个赋值语句:
a=(“12”);
b=(“12”).intValue();
下述说法正确的是()。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型
A、OutputStreamB、File
C、InputStreamD、BufferedOutputStream
15.在编写JavaApplet程序时,需在程序的开头写上()语句。
A、import.*;B、import
C、import.*;D、
16.类Parent、Child定义如下:
1.publicclassParent
2.{publicfloataFun(floata,floatb)throws
3.IOException{}
4.}
5.publicclassChildextendsParent{
6.
7.}
将以下哪种方法插入行6是不合法的。
()
A、floataFun(floata,floatb){}
B、publicintaFun(inta,intb)throwsException{}
C、publicfloataFun(floatp,floatq){}
D、publicintaFun(inta,intb)throwsIOException{}
17.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protectedC、privateprotectedD、public
18、有以下方法的定义,请选择该方法的返回类型()。
ReturnTypemethod(bytex,doubley)
{
return(short)x/y*2;
}
A、byteB、shortC、intD、double
19、关于以下代码段的说法正确的是()
1.Strings="abcde";
2.StringBuffers1=newStringBuffer("abcde");
3.if(s1))
4.s1=null;
5.if(s))
6.s=null;
A、第1行编译错误,String的构造器必须明确调用
B、第3行编译错误,因为s与s1有不同的类型
C、编译成功,但执行时在第5行有异常抛出
D、编译成功,过程中也没有异常抛出
20、编译并运行以下程序,以下描述哪个选项是正确的()
1.classX{
2.protectiedStringtoString()i{
3.return();}
4.}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
三.程序阅读题
1.以下程序的输出结果为相等。
classStringTest1
{
publicstaticvoidmain(String[]args)
{
Strings1="hello";
Strings2=newString("hello");
if(s2)){
}else{
}
}
}
2.以下程序段的输出结果为56789。
publicclassTestArray
{
publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]={5,9,6,8,7};
for(i=0;i<;i++){
intk=i;
for(j=i;j<;j++)
if(a[j]inttemp=a[i];
a[i]=a[k];
a[k]=temp;
}
for(i=0;i<;i++)
}
}
3.写出以下程序的功能。
import.*;
publicclassTestFile
{
publicstaticvoidmain(Stringargs[])throwsException
{
BufferedReaderbr=newBufferedReader(
newInputStreamReader);
BufferedWriterbw=newBufferedWriter(newFileWriter(“"));
Strings;
while(true)
{
s=();
if()==0)break;
(s);
();
}
();
}
}
功能:
从键盘逐一输入字符串,逐一输出至文件中,直至输入空行。
4.阅读以下程序,写出输出结果。
classAnimal{
Animal(){
nimal");}
}
public
classDogextendsAnimal{
Dog(){
Dog");}
publicstaticvoidmain(String[]args){
Dogsnoppy=newDog();}
}
输出结果:
AnimalDog
《JAVA语言程序设计》期末考试试题及答案3(应考必备题库)
一、单项选择题
1、如下哪个是Java中的标识符()
A、publicB、superC、3numberD、width
2、如下哪个是Java中的标识符()
A、fieldnameB、superC、3numberD、#number
3、已知如下定义:
Strings="story";下面哪个语句不是合法的()
A、s+="books";B、s=s+100;
C、intlen=;D、Stringt=s+“abc”;
4、如下哪个是Java中有效的关键字()
A、nameB、helloC、falseD、good
5、下面的代码段执行之后count的值是什么()
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
、5B、1C、15D、16
6、定义一个类,必须使用的关键字是()
A、publicB、classC、interfaceD、static
7、定义一个接口必须使用的关键字是()
A、publicB、classC、interfaceD、static
8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()
A、(b);B、(b,"North");
C、(b,"South");D、(p,"North");
9、声明并创建一个按钮对象b,应该使用的语句是()
A、Buttonb=newButton();B、buttonb=newbutton();
C、Buttonb=newb();D、(“确定”);
10、Frame对象默认的布局管理器是()
A、FlowLayoutB、BorderLayout
C、CardLayoutD、null
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()
A、import.*;B、import.*;
C、import.*;D、import.*;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类()
A、import.*;B、import.*;
C、import.*;D、import.*;
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()
A、FileInputStreamB、FileOutputStream
C、DataOutputStreamD、FileWriter
二、填空题
1、如果将类MyClass声明为public,它的文件名称必须是()才能正常编译。
2、Java程序中的单行注释符是(;)。
8、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。
9、假设x=13,y=4,则表达式x%y!
=0的值是(true),其数据类型是(boolean)。
10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。
11、以下程序段的输出结果是(三角形)
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
"三角形");
else
"不是三角形");
12、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=-1;i>=0;i--)
+"");
三、程序阅读题
1、以下程序的输出结果为_Peteris17yearsold!
___。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
=name;
=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
+"is"++"yearsold!
");
}
}
2、以下程序的输出结果为__课程号:
101课程名:
ASP学分:
3___。
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
}
publicvoidprintCourseInfo(){
"课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+cUnit);
}
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);
();
}
}
3、以下程序的输出结果为__汤姆猫体重:
斤___。
publicclassTom{
privatefloatweight;
privatestaticStringname;
publicvoidsetWeight(floatweight){
=weight;
}
privatevoidout(){
+"体重:
"+weight+"斤");
}
publicstaticvoidmain(String[]args){
="汤姆猫";
Tomcat=newTom();
(20);
();
}
}
4、以下程序的输出结果__。
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringname,intage){
=name;
=age;
}
voidout(){
"姓名:
"+name);
"年龄:
"+age);
}
voidoutOther(){
"家庭住址:
"+address);
"电话:
"+tel);
}
}
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
}
voidout(){
();
();
"学校:
"+school);
}
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("Tom",15);
="金水区";
="九中";
=;
();
}
}
5、下列程序的运行结果是__12345____。
publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;j<;j++)
+"");
}
publicstaticvoidmain(String[]args){
MyClassmy=newMyClass();
();
}
}
四、简答题
1、简述Java中异常处理的机制
答:
首先Java的异常是面向对象的。
一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。
Java的异常处理是通过5个关键词来实现的:
try,catch,th