全国信息技术水平考试JAVA样题附答案.docx
《全国信息技术水平考试JAVA样题附答案.docx》由会员分享,可在线阅读,更多相关《全国信息技术水平考试JAVA样题附答案.docx(15页珍藏版)》请在冰豆网上搜索。
全国信息技术水平考试JAVA样题附答案
全国信息技术水平考试JAVA测试卷
第一大题:
单选题(45分)
1.(1.5分)一个Java程序运行从上到下的环境次序是C
(A)操作系统、Java程序、JRE/JVM、硬件
(B)JRE/JVM、Java程序、硬件、操作系统
(C)Java程序、JRE/JVM、操作系统、硬件
(D)Java程序、操作系统、JRE/JVM、硬件
2.(1.5分)下面代码的运行输出结果是
publicclassexample
{
publicstaticvoidmain(Stringargs[])
{
intx=0;
if(x>0)x=1;
switch(x)
{
case1:
System.out.println
(1);
case0:
System.out.println(0);
case2:
System.out.println
(2);
break;
case3:
System.out.println(3);
default:
System.out.println(4);
break;
}
}
}
(A)0
2
(B)4
3
(C)2
3
(D)1
0
3下列选项中的哪个关键字通常用来对对象进行加锁,该标记使得对对象.的访问是排他的。
B
(1.(A)transient(B)synchronized(C)serialize(D)sta5tic
分)
4.下列关于变量及其范围的陈述中不正确的是B
(1.5分)(A)实例变量是类的成员变量。
(B)实例变量用关键字static声明。
(C)在方法中定义的局部变量在该方法被执行时创建。
(D)局部变量在使用前必须被初始化。
5下列程序片断可能发生错误的是C
school;Stringt=hanks;.(A)Strings=Welcometoour
k=s+t;
String(1.
school;Stringourstandard=s.toStrings=Welcometo5(B)
UpperCase();
分)
school;Stringt;t=s[3]+ouraString(C)s=Welcometo
gain;
school;String(D)Strings=Welcometoourt=s+school;
在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时6.会产生个字节码文件,其扩展名是C。
(1(A)15.java(B)3.java(C)3.clas.5s(D)15.class
分)
7.(1.5下列关于垃圾收集叙述正确的是B
(A)程序开发者必须自己创建一个线程进行内存释放的工分)
作。
(B)垃圾收集将检查并释放不再使用的内存。
(C)垃圾收集允许程序开发者明确指定并立即释放该内存。
(D)垃圾收集能够在期望的时间释放被Java对象使用的内存。
下列关键字不能用来修饰类的是8.(1.5分)
public(D)final
private(A)(B)abstract(C)
9.(1.5对于字符串s=”java”,下列选项中返回字符在字符串中'v'的位分)置的是C
(A)s.charAt(‘v');
(B)s.indexOf(‘v');
(C)indexOf('v');
(D)indexOf(s,'v');
10.在命令行使用“javatest54”运行下面程序的输出结果(1.5分)是:
publicclasstest
{
publicstaticvoidmain(String[]args)
{
System.out.println(args[1]);
}
}
(A)0(B)5(C)编译出错(D)4
11.(1.5下列关于Java中访问修饰符说法正确的是A。
分)(A)当一个类的变量声明为protected时,同包中的任何其他类能够访问该变量。
(B)当一个类的变量声明为private时,同包中的任何其他类能够访问该变量。
(C)当一个类的变量声明为public时,不同包中的他类能够不能访问该变量。
(D)当一个类的变量声明为protected时,不同包中的子类可以访问该变量。
12.(1.5阅读以下程序
分)
1)classPerson{
2)publicvoidprintValue(inti,intj){/*…*/}
3)publicvoidprintValue(inti){/*...*/}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){/*...*/}
7)publicvoidprintValue(inti){/*...*/}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
12)}
第10行的语句将调用哪个方法
(A)第2行(B)第3行(C)第6行(D)第7行
13.(1.5分)阅读下面的代码
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
以上代码在编译时哪行将导致一个错误?
(A)第3行(B)第5行(C)第6行(D)第10行
14.(1.5以下哪个类可以作为FilterInputStream类的构造方法的参
分)
数。
B
(A)FilterOutputStream(B)File
(C)InputStream(D)RandomAccessFile
15.(1.5分)给出下面的代码:
publicclassTest{
voidprintValue(intm){
do{
System.out.println(Thevalueis+m);
}while(--m>10);
}
publicstaticvoidmain(Stringarg[]){
inti=11;
Testt=newTest();
t.printValue(i);
}
}
则输出的结果是是
(A)Thevalueis8
(B)Thevalueis9
(C)Thevalueis10
(D)Thevalueis11
16类的设计要求它的某个成员变量不能在该类的外部直接访问。
应该使用下面哪个修饰符获得需要的访问控制?
.
(A)private(B)nomodifier(C)protected(1.5(D)public
)
分17.(1.5以下哪个表达式是声明一个含有10个String对象的数分)组?
C
(A)charstr[]=newString[10];
(B)charstr[][]=newString[10];
(C)Stringstr[]=newString[10];
(D)Stringstr[10]=newString[10];
18.(1.5分)阅读代码片段:
Strings=hello;
Stringt=hello;
charc[]={'h','e','l','l','o'};
以下哪个表达式返回false?
B
(A)s.equals(t);(B)t.equals(c);
(C)s=t;(D)t.equals(newString(hello));
19.(1.5分)下面程序运行结果是
1).classA{
2).publicStringtoString(){
3).return;
4).}
5).}
6).classBextendsA{
7).publicStringtoString(){
8).returnsuper.toString()+;
9).}
10).}
11).publicclassTest{
12).publicstaticvoidmain(String[]args){
13).System.out.println(newB());
14).}
15).}
(A)编译成功并输出4
(B)编译成功并输出43
(C)第8行产生一个编译错误
(D)编译成功但运行时抛出一个异常
20.(1.5下列程序运行结果是:
分)publicclassTest{
publicstaticvoidleftShift(inti,intj){
i*=j;
}
publicstaticvoidmain(Stringargs[]){
inti=4,j=2;
leftShift(i,j);
System.out.println(i);
}
}
(A)2(B)4(C)8(D)16
下列选项中的Java源文件代码片段不正确的是
21(A)packagetestpackage;
.publicclassTest{//dosomething...}
(1
.5
分(B)importjava.io.*;
)packagetestpackage;publicclassTest{//dosomething...}
(C)importjava.io.*;
classPerson{//dosomething...}publicclassTest{//dosomething...}
(D)importjava.io.*;
importjava.awt.*;
publicclassTest{//dosomething...}
22分析下面的Java程序,其输出结果为
.publicclassTest{
(1.5publicstaticvoidmain(String[]ards)throwsEx分)ception{
try{
thrownewException();}
catch(Exceptione){
System.out.println(CaughtException!
);}
System.out.println(continue!
);
}
}
(A)CaughtException!
continue!
(B)CaughtException!
(C)continue!
(D)CaughtException
23.使用JDBCAPI操作数据库时,如果执行带IN参数的预编译SQL语(1.5句采用以下哪个对象?
C
分)(A)PreparedStatement(B)Statement
(C)PrepareStatement(D)CallableStatement
24.对于方法:
addActionListener(ActionListener),下面对其描述(1.5分)正确的是:
(A)用户操作、触发事件的方法(B)注册监听器
(C)处理事件发生的接口方法(D)以上说法都不对
25.阅读以下程序片段,下面定义正确的(1.5分)是A
classEmployee{}
interfaceIManager{}
classManagerextendsEmployeeimplementsIManager{}
classDirectorextendsEmployee{}
(A)Employeee=newManager();
(B)Directord=newManager();
(C)Directord=newEmployee();
(D)IManagerm=newDirector();
26.(1.5分)Java图形用户界面事件处理需要用到的包为A
(A)java.awt.*(B)java.awt.event.*
(C)java.io.*;(D)java.rmi.*;
27.完成程序,为程序中下划线处选择正确的选项使得程序能创建并且启(1.5动一个新的线程C
分)publicclassMyRunnableimplementsRunnable{
pulbicvoidrun(){
________
}
}
(A)newRunnable(MyRunnable).start();
(B)newThread(MyRunnable).run;
(C)newThread(newMyRunnable()).start();
(D)newMyRunnable().start();
28.(1.5下列方法中用来设置一个Labe1的组件的文本是A分)
(A)setText()(B)setLabel()
(C)setTextLabel(D)setLabelText()
29.(1.5分)下列关于多线程的说法中正确的是
(A)多线程是Java所独有的。
(B)多线程需要在多CPU系统上实现。
(C)多线程必须在单CPU系统的计算机上实现。
(D)Java支持多线程。
30.(1.5如果要求容器中各组件尺寸相同,则最好选用哪一种布局管理分)器C
(A)BorderLayout(B)GridLayout
(C)FlowLayout(D)CardLayout
第二大题:
操作题(考生按照系统提示目录保存试题文件,试题文件名为(55
题目编号。
例:
第一题的试题文件名为:
1.java,对应的字节码文件为:
分)
1.class)
i问题描述:
使用循环来计算数列1+12+23+…+99100之和的代码。
提示:
可以采用如下程序框架:
(仅供参考,也可用其它做法实现)
publicclassMyClass
{
publicstaticvoidmain(String[]args){
inti;
intsum=0;
For(i=1;i<=99100;i=+11)
sum=sum+j;
System.out.println(”1+12+23+.....+99100=”+sum);
}
}
2.(20编写多线程程序。
分)程序描述:
这个简单的Java程序完成三项不相关的任务。
这样的程序有单个控制线程控制着这三个任务之间线性地移动。
因此,程序在访问数据库之前必须等待打印机完成打印文件的任务。
请改进此程序,使它成为多线程的。
classMyClass{
staticpublicvoidmain(Stringargs[]){
print_a_file();//打印文件
access_database();//访问数据库
draw_picture_on_screen();//显示图片
}
staticvoidprint_a_file()
{
system.out.println(printing_a_file);
}
staticvoidaccess_database()
{
system.out.println(accessing_database);
}
staticvoiddraw_picture_on_screen()
{
system.out.printl(drawing_picture_on_screen);
}
}
提示:
程序架构参考如下(仅供参考,也可用其它做法实现)。
publicclassMyThreadClass{//入口主类
publicstaticvoidmain(String[]args){
PrintThreadprintThread=newPrintThread();//打印线程对象
Threadt1=newThread(printThread);
Access_Databaseaccess_databaseThread=newAccess_Database();
Threadt2=newThread(access_databaseThread);
Draw_Picture_On_Screendraw_picture_on_screenThread=new
Draw_Picture_On_Screen();
Threadt3=newThread(draw_picture_on_screenThread);
t1.start();
t2.start();
t3.start();
}
}
classPrintThreadextendsThread{
publicvoidrun(){
out.println(灜楲瑮湩彧彡楦敬);System.
}
}Thread{Access_Databaseclassextendsrun(){voidpublic
out慜捣獥楳杮摟瑡扡獡履.println(System.);}}
Thread{classDraw_Picture_On_Screenextendsrun(){publicvoidout);.println(System.摜慲楷杮灟捩畴敲潟彮捳敲湥}}
编写程序。
(203.
程序描述:
分)
类(汽车类),包含:
编写一个抽象类VehicleWheel;//汽车轮子个数属性:
protectedint
Weight;//汽车重量属性:
protectedint
构造方法:
接收轮子个数weight){}//publicVehicle(intwheel,int
和重量值//Speak()抽象方法:
publicabstractvoid
输出汽车的喇叭声音接口,包含:
编写一个Moveable用于返回最大的行驶速度doubleMoveSpeed();//方法:
类和VehicleTruck(卡车)类,都继承编写Car(小轿车)类和接口;实现Moveable重量和喇叭声音编写测试类,打印输出小轿车和卡车的轮子个数、以及最大行驶速度。
编译运行均已通过0R3_)M4o&{1\#y*直接复制黏贴即可;xI-h#c6c'W7w4o*文件名为:
Test.javaJ+y/C'T6A-h'p1W'J(Y1q$Q*/
classVehicle{
privateintwheels;b+N-c;G3R/?
5c[:
yM;D(F
privatefloatweight;
protectedVehicle(intwheels,floatweight){,M1X!
D#A8},@8d2Dthis.wheels=wheels;0i)B#o)g0V8E4N%R%x:
Gthis.weight=weight;l9A;[2u4j7B3j2_2B6h'U
}
publicintgetWheels(){q;p8C9B(a4n,v&~2Q*?
4a3v4T
returnwheels;5Y0^'x&Z*G'y_.~0M}#i%B+W1F!
K#R
publicfloatgetWeight(){
returnweight;
}
publicvoidprint(){:
|%@1C3D#n5d);
祓瑳浥漮瑵瀮楲瑮湬尨汽车:
);?
桴獩朮瑥桗敥獬?
尫个轮子祓瑳浥漮瑵瀮楲瑮湬尨共有D7O5
s:
K\\
);吨祓瑳浥漮瑵瀮楲瑮湬尨重量为?
桴獩朮瑥敗杩瑨?
尫
}6W5m7C/}:
J3H9g0V}:
t.l$@#X5`1H:
V.e-Z)x)qclassCarextendsVehicle{
privateintpassenger_load;
publicCar(intwheels,floatweight,intpassenger_load){w-l*
Kf7i%O
super(wheels,weight);
this.passenger_load=passenger_load;7b'H9f8Y(X(l}
publicintgetPassenger_load(){!
h6V1G$\)A'^:
s0o.~returnpassenger_load;]0L/|:
e9E8Z1Q}
publicvoidprint(){#@)['{-K*C7@%~(R3s);
祓瑳浥漮瑵瀮楲瑮湬尨小车:
);个轮子祓瑳浥漮瑵瀮楲瑮湬尨共有?
桴獩朮瑥桗敥獬?
尫&r2}.W)
x6I7c2F(nN
);?
桴獩朮瑥敗杩瑨?
尫吨重量为祓瑳浥漮瑵瀮楲瑮湬尨;A)\6k/S5