2018年3月计算机二级Java语言程序设计:强化练习题(三)
1.下列选项成员变量声明正确的是()。
A.publicprotectedfinalinti;
B.abstractclassFl{…}
C.privatedoubleheight;
D.doubleweight()
2.下面程序段的输出结果是()。
classTest{
publics,taticvoidmain(Stringargs[]){
MyThreadt=newMyThread();
t.displayOutput("thasbeencreateD");
t.start();
}
}
ClassMyThreadextendsThread{
publicvoiddisplayOutput(Strings){
System.out.println(s);
}
publicvoidrun(){
displayOutput("tisrunning.");
}
}
A.thasbeencreated.
B.thasbeencreated.tisrunning.
C.tisrunning.
D.编译出错
3.执行下列程序时,会产生什么异常()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intd=101;
intb=220:
longa=321;
System.OUt.println((a-b)/(a-b-d));
}
}
A.ArraylndexOutOfBoundsException
B.NumberFormatException
C.ArithmeticException
D.EOFExeeption
4.下面程序段的输出结果为()。
publicclassTest
{
publicstaticvoidmain(Stringargs[])
{
booleana,b,C;
a=(3<5):
b=(a==true);
System.out.println("a="+a+"b="+b);
c=(b==false);
System.out.println("b="+b+"c="+c);
}
}
A.a=trueb=falseB.fl=trueb=false
b=truec=trueb=truec=false
C.a=trueb=trueD.a=falseb=false
b=truec=falseb=truec=false
5.下面程序段的输出结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta,b;
for(a=1,b=1;a<=100;a++){
if(b>=10)break;
if(b%2==1){
b+=2:
continue;
}
}
System.OUt.println(a);
}
}
A.5
B.6
C.7
D.101
6.栈中允许进行插入和删除的一端称为()。
A.栈顶
B.栈底
C.栈端
D.栈尾
7.下面程序段的输出结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti=1:
switch(i){
case0:
System.OUt.println("0");
break;
casel:
System.out.println("1");
case2:
System.OUt.println("2");
break;
default:
System.out.println("default");
}
}
}
A.01
B.12
C.10
D.21
8.Frame默认的布局管理器是()。
A.FlowLayout
B.BorderLayout
C.GridLayout
D.UpLayout
9.在Java语言中,ObjectOutputStream是指()。
A.字节流
B.字符流
C.对象输出流
D.数据流
10.请阅读下列程序代码,然后将程序的执行结果补充完整。横线处应填写的内容是()。
程序代码:
publicclassthrowsExeeption{
staticvoidProc(intsel)
throwsArithmeticException,ArrayIndexOutOf
BoundsException{
System.out.println("InSituation"+sel);
if(sel==0){
System.OUt.println("noExceptioncaught");
return;
}
elseif(sel==l){
intiArray[]=newint[4];
iArray[1]=3;
}
}
publicstaticvoidmain(Stringargs[]){
try{
Proe(O);
Proc(1);
}
catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("Catch"+e);
}
finally{
System.out.println("inProcfinally"):
}
}
}
执行结果:
InSituation0
noExceptioncaught
inProcfinally
A.InSituationl
B.InSituation
C.withCatch
D.intiArrayl
参考答案
1.C。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是public、protected,private,static,final,transient,volatile等。选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以";"结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。
2.B。【解析】start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是run()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用displayOutput(Strings)方法输出thasbeencreated。t.start()方法调用run()方法,输出tisrunning,所以正确答案为选项B。
3.C。【解析】本题考查异常的概念。首先应该掌握题目选项中给出的都是什么类型的异常。选项A是当访问数组中非法元素时引发,出现数组负下标异常。选项B是格式化数字异常。选项C是算术异常,如程序触发分母为0,或用0取模时出现。选项D是文件已结束异常。当Java执行这个算术表达式的时候,由于求模运算的分母是a-b-d=0,就会构造一个ArithmetieException的异常对象来使程序停下来并处理这个错误的情况,在运行时抛出这个异常。默认的处理器打印出Exception的相关信息和发生异常的地点。
4.C。【解析】本题考查关系运算符<和==。题目中a=(3<5);比较3和5的大小,因为3<5,返回true给a;b=(a==true);判断a是否为真,因为a确实为真,返回true给b;c=(b==false);判断b是否为假,因为b不为假,返回false给e。最后结果a=true,b=true,b=true,e=false,选项C正确。
5.B。【解析】本题考查for循环和if语句的嵌套以及break语句和continue语句的用法。第1个if语句的意义为:当b>=10时退出for循环,第2个if语句的意义为:如果b%2=1,则b的值加2并退出本次循环。本程.序当b的值分别为l、3、5、7和9的时候执行5次循环,此时a=5,b=9,当执行第6次循环时,a的值为6,但b=11,所以退出循环,程序结束。
6.A。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。
7.B。【解析】本题考查switch-case-break的用法。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以该题i=1时执行easel分支语句,而casel分支语句后没有break语句,程序继续向下执行case2分支语句,case2语句后有break语句,故程序不执行default分支语句。
8.B。【解析】本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout是Window、Frame和Dialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件;OridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout把容器分成许多层,每层只能放置一个构件。
9.C。【解析】本题考查Java输入\输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OutputStream抽象类,又实现了0bjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。
10.A。【解析】本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非常简单。程序的public类是thtowsExeeption,类中定义了Proe(intsel)方法。程序入口是main()方法,使用try-catch-finally来捕获ArithmeticExeeption和ArrayIndexOutOfBoundsExeeption异常,这两个异常是关于算术异常或数组索引越界的异常。执行Proe(0)时,输出InSituation0和noExceptioncaught两条信息;执行Proc(1)时,输出InSituationl和inProcfinally两条信息。整个程序并未发生异常。
文章推荐:
考无忧小编推荐:
更多计算机等级考试真题及答案>>>点击查看
想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看