11下半年Java机考试题.docx
- 文档编号:10790510
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:22
- 大小:57.89KB
11下半年Java机考试题.docx
《11下半年Java机考试题.docx》由会员分享,可在线阅读,更多相关《11下半年Java机考试题.docx(22页珍藏版)》请在冰豆网上搜索。
11下半年Java机考试题
2011年(下)全国信息技术水平考试
计算机程序设计技术水平证书(JAVA语言)考试试卷
第一大题:
单选题
(30分)
1.(1分)
下列数组初始化形式正确的是(A)。
(A)intt1[][]={{1,2},{3,4},{5,6}};
(B)intt2[][]={1,2,3,4,5,6};
(C)intt3[3][2]={1,2,3,4,5,6};
(D)intt4[][];t4={1,2,3,4,5,6};
2.(1分)
下列语句序列执行后,x的值是(B)。
inta=3,b=4,x=5;
if(++a==b)x=++a*x;
(A)35(B)25(C)20(D)5
3.(1分)
下列程序执行后,输出结果是(B)。
intx=4;
inty=3;
System.out.println(x+y+"k");
(A)4k(B)7k(C)43k(D)3k
4.(1分)
编译和运行下列代码后,其显示结果是(A)。
D
publicclassTest{
publicstaticvoidmain(Stringargv[]){
Testc=newTest();
Strings=newString("ello");
c.method(s);
}
publicvoidmethod(Strings){
charc=ˊHˊ;
c+=s;
System.out.println(c);
}
}
(A)Hello(B)ello(C)elloH(D)编译错误
5.(1分)
在Java语言中,所有类的根类是(A)。
(A)java.lang.Object(B)java.lang.Class(C)java.applet.Applet(D)java.awt.Frame
6.(1分)
在Java语言中,类间的继承关系是(AB)。
(A)多重的(B)单重的(C)线程的(D)不能继承
7.(1分)
下列程序段执行后,其输出结果是(B)。
//用户自定义异常,java异常2
publicclassTest{
publicstaticvoidmain(String[]args)throwsException{
try{
thrownewException();
}catch(Exceptione){
System.out.println("Caughtinmain()");
}
System.out.println("nothing");
}
}
(A)Caughtinmain()
(B)Caughtinmain()
nothing
(C)nothing
(D)没有任何输出
8.(1分)
阅读下列代码后,下列选项中说法正确的是(A)。
publicclassTest{
String[]s=newString[2];//字段的实例(字段)
publicstaticvoidmain(Stringargs[])//方法非实例,是静态(类方法),可以直接调用
{
System.out.println(s[0]);//解决方法,new一个对象System.out.println(newTest.s[0]);
}
//实例要new之后才有
}
(A)编译时将产生错误(B)编译时正确,运行时将产生错误(C)可以运行,但什么也没输出(D)输出null
9.(1分)
Applet小程序和Application独立程序的主要区别是(B)。
(A)小程序内必须有main()方法
(B)独立程序必须包含main()方法,而Applet小程序的父类一定是Applet
(C)两者都必须有main()方法
(D)小程序必须包含main()方法,而独立程序的父类一定是Applet
10.(1分)
设Strings="story";下列选项中语句书写正确的是(A)。
(A)s+="books";(B)charc=s[1];//”story”中的t的类型是字符串(C)intlen=s.length();(D)s=s-"books";
11.(1分)
编译和运行下列代码后,其输出的结果是(B)。
publicclassTest{
publicstaticvoidmain(Stringargv[]){
Testinc=newTest();
inti=0;
inc.fermin(i);
i=i++;
System.out.println(i);
}
voidfermin(inti){
i++;
}
}
(A)编译报错误(B)2(C)1(D)0
12.(1分)
下列关于事件监听器的描述中正确的是(A)。
(A)多个监听者可以被附加到一个组件
(B)只有一个监听者可以被附加到一个组件上
(C)一个监听者只能接受一个组件产生的事件
(D)以上描述都不对
13.(1分)
下列选项中,不属于Java关键字的是(BC)。
(A)new(B)private(C)sealed(D)transient
14.(1分)
Java语言中的一些低级实用工具(如处理时间的Date类,处理变长数组的Vector类等),它们所在的包是(A)。
(A)java.lang包(B)java.io包(C)java.awt包(D)java.util包
15.(1分)
在Java语言中,当Set集合遇到重复的元素时,处理的方式是(B)。
(A)试图添加一个重复的元素时,会抛出一个异常
(B)试图添加一个重复的元素时,重复元素将不能被加入
(C)一个Set可以包含重复元素
(D)编译的时候,重复的元素会导致错误
16.(1分)
下列代码中的“this”指的是(A)。
classBird{
intx,y;//类的全局变量,不存在整个程序的全局变量
voidfly(intx,inty){
this.x=x;
this.y=y;
}
}
(A)Bird(B)fly(C)Bird或fly(D)不一定
17.(1分)
下列2个文件位于相同目录下,编译运行后会出现的情况是(AD)。
//FileP1.java
packageMyPackage;
classP1{
voidafancymethod(){
System.out.println("Whatafancymethod");
}
}
//FileP2.java
publicclassP2extendsP1{
publicstaticvoidmain(Stringargv[]){
P2p2=newP2();
p2.afancymethod();
}
}
(A)2个文件都可以编译,P2运行输出“Whatafancymethod”
(B)2个文件都不能编译
(C)2个文件都可以编译,P2运行时报错误
(D)P1编译成功,P2编译时报错误
//两个程序放在不同的包,缺省包就可以,缺省包就是没有包的意思
18.(1分)
list是一个ArrayList的对象,下列选项中填写到//tododelete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存对象的是(A)。
Iteratorit=list.iterator();
intindex=0;
while(it.hasNext()){
Objectobj=it.next();
if(needDelete(obj)){//needDelete返回boolean,决定是否要删除
//tododelete
}
index++;
}
(A)list.remove(obj);(B)list.remove(index);(C)list.remove(it.next());(D)it.remove();
19.(1分)
编译和运行下列代码后,其结果是(AB)。
publicclassTuxextendsThread{
staticStringsName="vandeleur";
publicstaticvoidmain(Stringargv[]){
Tuxt=newTux();
t.piggy(sName);
System.out.println(sName);
}
publicvoidpiggy(StringsName){
sName=sName+"wiggy";
start();
}
publicvoidrun(){
for(inti=0;i<4;i++){
sName=sName+""+i;
}
}
}
(A)编译错误(B)vandeleur(C)vandeleur0(D)vandeleurwiggy0123
20.(1分)
下列代码行中编译时不会产生警告或错误的是(C)。
(A)floatf=1.3f;(B)charc="a";(C)inti=10;(D)booleanb=null;
21.(1分)
下列程序执行后的结果是(AD)。
publicclassSandys{
privateintcourt;
publicstaticvoidmain(Stringargv[]){
Sandyss=newSandys(99);
System.out.println(s.court);
}
Sandys(intballcount){
court=ballcount;
}
}
(A)由于court是私有变量,因此产生一个编译失败错误//无法访问
(B)由于System.out方法被调用时,s未初始化,因此产生一个编译失败错误
(C)0
(D)99
22.(1分)
创建一个向文件“file.txt”追加内容的输出流对象的语句是(AC)。
(A)OutputStreamout=newFileOutputStream(“file.txt”);
(B)OutputStreamout=newFileOutputStream(“file.txt”,“append”);
(C)OutputStreamout=newFileOutputStream(newFile(“file.txt”),true);
(D)FileOutputStreamout=newFileOutputStream(newfile(“file.txt”));
23.(1分)
下列选项中需要在编写程序时声明的检查型异常是(A)。
(A)NullPointerException(B)ClassCastException类筑建异常(C)FileNotFoundException(D)IndexOutOfBoundsException
24.(1分)
要从文件"file.dat"中读出第10个字节到变量c中,下列选项中适合的方法是(BA)。
(A)FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();
(B)FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();
(C)FileInputStreamin=newFileInputStream("file.dat");intc=in.read();
(D)RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();
25.(1分)
类Test1、Test2定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb)throwsIOException{}
3.}
4.publicclassTest2extendsTest1{
5.
6.}
下列选项中插入行5是不合法的是(A)。
(A)floataMethod(floata,floatb){}//重写向更高的方位装化,包括访问级别,返回类型参数类型异常处理
(B)publicintaMethod(inta,intb)throwsException{}
(C)publicfloataMethod(floatp,floatq){}
(D)publicintaMethod(inta,intb)throwsIOException{}
26.(1分)
下列选项中,可以限制一个方法重载的声明语句是(A)。
(A)finalvoidmethoda(){}
(B)voidfinalmethoda(){}
(C)staticvoidmethoda(){}
(D)finalabstractvoidmethoda(){}
27.(1分)
关于下列程序段的说法中正确的是(C)。
1.Strings1=”abc”+”def”;
2.Strings2=newString(s1);
3.if(s1==s2)
4.System.out.println(“==succeeded”);
5.if(s1.equals(s2))
6.System.out.println(“.equals()succeeded”);
(A)行4与行6都将执行
(B)行4执行,行6不执行
(C)行6执行,行4不执行
(D)行4、行6都不执行
28.(1分)
下列标识符中,不合法的是(A)。
(A)const//关键字(B)$double(C)hello(D)BigMeaninglessName
29.(1分)
下列选项中关于接口的定义正确的是(D)。
(A)interfaceB
{voidprint(){};}
(B)abstractinterfaceB
{abstractavoidprint();}//只有抽象方法
(C)abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口
{abstractvoidprint(){};}
(D)interfaceB
{voidprint();}
30.(1分)
关于下列程序的功能,说法正确的是(C)。
publicclassTestextendsThread{
Test(){
Threadtd=newThread(this);
td.start();
}
publicvoidrun(){
for(n=0;n<4;n++){
try{
System.out.print(n);
Thread.sleep(500);
}catch(InterruptedExceptione){
System.out.println("Exception");
}
}
}
publicstaticvoidmain(Stringargs[])
{
newTest();
}
}
(A)这段程序的功能是:
每隔500秒打印0123
(B)这段程序的功能是:
每隔1秒打印0123
(C)这段程序的功能是:
每隔半秒打印0123
(D)这段程序的功能是:
每隔半分钟打印0123
第二大题:
实践题(70分)
1.(20分)
程序逻辑题
问题描述:
水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身,例如:
153是一个"水仙花数",因为
。
编写一个Java应用程序,求出所有三位水仙花数。
提示:
利用for循环控制遍历100至999之间的数,每个数分解出个位,十位,百位。
程序结构如下:
publicclassExam1{
publicstaticvoidmain(String[]args)
{
//求出所有水仙花数,并打印
}
}
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
2.(25分)
文件读写
问题描述:
请将若干个数据写入到文件中,然后将其从文件中按顺序读取出来,并显示在屏幕上。
需要写入的数据如下:
(1)整型数据(int):
12
(2)单精度浮点型数据(float):
88.6
(3)字符串类型数据(String):
youarebest!
屏幕显示内容如图1所示。
提示:
使用FileInputStream和FileOutputStream打开文件,使用DataInputStream和DataOutputStream进行读写操作。
程序结构如下:
importjava.io.*;
publicclassExam2{
publicvoidwriteData()throwsException
{
//创建文件exam2.txt,写入数据
}
publicvoidreadData()throwsException
{
//打开文件exam2.txt,读出数据并打印
}
publicstaticvoidmain(String[]args){
try
{
Exam2e2=newExam2();
e2.writeData();
e2.readData();
}
catch(Exceptionex)
{
ex.printStackTrace();
}
}
}
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
3.(25分)
面向对象(25分)
问题描述:
1、编写一个圆形类Circle,包含:
一个protected,double类型的属性(圆形的半径r)
两个构造器方法:
(1)一个带有一个参数的构造器方法,用于将r属性初始化;
(2)一个不带参数的构造器,将圆形半径初始化为10。
两个方法:
(1)求圆形面积的方法area()。
(提示圆周率为3.14)
(2)求圆形周长的方法perimeter()
2、通过继承Circle类编写一个具有确定位置的圆形类PlainCircle,其确定位置用圆形的圆心坐标来标识。
包含:
添加两个属性(圆形圆心坐标cX和cY)
两个构造器方法:
(1)带3个参数的构造器方法,用于对cX、cY、r属性初始化;
(2)不带参数的构造器方法,将圆形初始化为圆心坐标为(0,0),半径为10的圆形;
添加一个方法:
判断某个点是否在圆形内部的方法isInside(doublex,doubley)。
如在圆形内,返回true,否则,返回false。
提示:
点在圆形类是指满足条件:
(x-cX)*(x-cX)+(y-cY)*(y-cY)<=r*r
3、编写PlainCircle类的测试程序
(1)创建一个圆心坐标为(10,10),半径为20的圆形对象;
(2)计算并打印输出圆形的面积和周长;
(3)判断点(25.5,13)是否在圆形内,并打印输出相关信息。
程序结构如下:
classCircle
{
}
classPlainCircleextendsCircle
{
}
publicclassExam3
{
publicstaticvoidmain(String[]args)
{
PlainCirclecircle=newPlainCircle(10,10,20);
System.out.println("该圆面积为:
"+circle.area());
System.out.println("该圆周长为:
"+circle.perimeter());
if(circle.isInside(25.5,13))
System.out.println("该点在圆内");
else
System.out.println("该点不在圆内");
}
}
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
===============================================================
2011年(下)JAVA试卷参考答案
一、理论题(每小题1分,共30分)
1
2
3
4
5
6
7
8
9
10
A
B
C
D
A
B
B
A
B
A
11
12
13
14
15
16
17
18
19
20
D
A
C
D
B
A
D
A
A
C
21
22
23
24
25
26
27
28
29
30
D
C
C
A
A
A
C
A
D
C
需要讲解的题:
7,8,11,12,13,15,16,17,18,19,22,23,24,25,27,28
容易出错的题:
11(并非答案C),19
不妥的题:
16(应是:
Bird类对象),26(应是方法重写或方法覆盖)
二、实践题(20+25+25=70分)
1.(20分)编程,求出所有三位水仙花数。
publiccl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 下半年 Java 考试题
