考试吧

计算机等级

考试吧>等级考试>计算机二级考试>JAVA>模拟试题>正文
2018年3月计算机二级Java考试强化练习题及答案(2)
考试吧 2018-02-28 17:17:32 评论(0)条

  点击查看:2018年3月计算机二级Java强化练习题及答案汇总

  1.下列程序的输出结果是()。

  publicclassArrayTest

  {

  publicstaticvoidmain(Stringargs[])

  {

  int[]intArray=newint[3]

  for(inti=0;i<3;i++)

  {

  intArray[i]=i+2:

  system.out.println("lntArray["+i+"]¨=

  intArray[i]);

  }

  System.out.println("----------");

  intarrlen=4:

  IntArray=newint[arrLen];

  For(intj=intArray.length;j>=0;j--)

  {

  intArray[j]=j*3;

  system.out.println("hello"+intArray[j]);

  }

  }

  }

  A.编译未通过

  B.编译通过,但运行错误

  C.可以运行,但有错误

  D.以上都不对

  2.下列程序的运行结果是()。

  Publicclasssun

  {

  Publicstaticvoidmain(Stringargs[])

  {

  intx=4,y=0;

  if(Math.pow(X,2)==16)

  y—x;

  if(Math.pow(X,2)<15)

  y—l/x;

  if(Math.pow(X,2)>15)

  y=(int)Math.pow(X,2)+1;

  system.out.println(y);

  }

  }

  A.4

  B.17

  C.18

  D.0.25

  3.自定义的异常类可从()类继承。

  A.Error

  B.AWTError

  C.VirtualMachineError

  D.Exception及其子集

  4.t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是()。while(t=1){…}

  A.循环控制表达式的值为0

  B.循环控制表达式的值为1

  C.循环控制表达式不合法

  D.以上说法都不对

  5.下面for循环语句的执行结果是()。

  for(intj=10;j>3;j--)

  if(j1=O)

  j--;

  --j;

  --j;

  System.OUt.println(j);

  }

  A.63

  B.74

  C.62

  D.73

  6.关于Applet执行的操作,下面说法正确的是()。

  A.在运行时调用其他程序

  B.可以进行文件读/写操作

  C.不能装载动态连接库和调用任何本地方法

  D.试图打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机

  7.下列关于Applet生命周期的说法,正确的是()。

  A.voidinit()在Applet下载前调用

  B.voidstart()只在初始化之后调用

  C.voidstop()在关闭浏览器时调用

  D.stop()总在voiddestroy()之前被调用

  8.对于下面语句的说法,不正确的是()。ThreadthrObj=newThread():

  A.系统没有为该线程对象分配资源

  B.只能启动或者终止

  C.创建了一个空的线程对象

  D.可以调用其他方法

  9.在Java中,线程是()。

  A.分时的

  B.抢占式的

  C.非抢占式的

  D.非分时的

  10.下列关于线程和进程的说法正确的是()。

  A.进程结构的所有成分都在用户空间内

  B.用户程序能够直接访问进程涉及的数据

  C.线程是内核级的实体

  D.线程结构驻留在用户空间中

  11.下列选项成员变量声明正确的是()。

  A.publicprotectedfinalinti;

  B.abstractclassFl{…}

  C.privatedoubleheight;

  D.doubleweight()

  12.下面程序段的输出结果是()。

  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.编译出错

  13.执行下列程序时,会产生什么异常()。

  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

  14.下面程序段的输出结果为()。

  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

  15.下面程序段的输出结果是()。

  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.5B.6

  C.7D.101

  16.栈中允许进行插入和删除的一端称为()。

  A.栈顶B.栈底

  C.栈端D.栈尾

  17.下面程序段的输出结果是()。

  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

  18.Frame默认的布局管理器是()。

  A.FlowLayout

  B.BorderLayout

  C.GridLayout

  D.UpLayout

  19.在Java语言中,ObjectOutputStream是指()。

  A.字节流

  B.字符流

  C.对象输出流

  D.数据流

  20.请阅读下列程序代码,然后将程序的执行结果补充完整。横线处应填写的内容是()。

  程序代码:

  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

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  1.B。【解析】这是一道考查数组引用的题,目的是考查如何在程序中引用初始化后的数组。引用的方式为arrayName[index],其中index为数组的下标,可以为整数、变量和表达式,范围从0开始,一直到数组的长度减l。在Java语言中,是要对数组下标进行检查的。因此,当程序运行到数组的长度值时,就发生了越界现象。

  2.B。【解析】本题是考查对if-else分支结构和几个标准函数的理解。pow(x,y)方法是X的Y次幂,程序中pow(x,2)满足第1个if语句和第3个if语句,条件变量y将被赋值两次,但对于同一个变量来说,只能存储最后一个所赋的值。

  3.D。【解析】Java语言中Throwable类分为Error和Exception两个子类。自定义的异常类是从Exception及其子集类继承的。

  4.B。【解析】本题考查对while循环及逻辑表达式的理解。循环控制表达式为赋值表达white式t=1,永远为l(为真)。

  5.B。【解析】该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2次--j,j的值为7:②当j=7时,满足条件j>3,由于for循环中J一一执行了1次,j的值为6,执行if语句,i%3=0不满足条件,继续向下执行2次--j,j的值为4。

  6.C。【解析】本题考查Applet的概念。Java虚拟机为Applet提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。由于Applet是通过网络传递的,这就不可避免地使人想到会发生安全问题。例如,有人编写恶意程序通过小应用程序读取用户密码并散播到网络上,这将会是一件非常可怕的事情。所以,必须对小应用程序进行限制。浏览器禁止Applet运行任何本地可运行程序,选项A错误。禁止加载本地库或方法,Applet只能使用自身的代码或Applet浏览器提供的JavaAPl,不允许装载动态连接库和调用任何本地方法,选项C正确。禁止读/写本地计算机的文件系统,选项B错误。禁止与没有提供Applet的任何主机建立网络连接,如果Applet试图打开一个socket进行网络通信,所连接的主机必须是提供Applet的主机,选项D错误。

  7.D。【解析】本题考查Applet生命周期的概念。Applet生命周期是考试重点考查内容,应该加以重视。init()在Applet下载时调用,而不是下载前调用,选项A错误。start()在初始化之后以及在Applet被重新访问时调用,不仅仅只是在初始化之后调用,选项B错误。stop()在停止执行时调用,关闭浏览器时调用的是destroy(),选项C错误。destroy()在关闭加载Applet的浏览器从系统中撤出时调用,此时Applet必然调用stop()方法停止其运行,然后才能调用destroy()方法从内存卸载并释放该Applet的所有资源。注意理解Applet的执行过程。

  8.D。【解析】本题考查线程的创建。通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项C说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。

  9.B。【解析】本题考查线程的调度。Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep()等方法保证给其他线程运行时间。

  10.D。【解析】本题考查线程和进程的概念。线程与进程在概念上是相关的,进程由代码、数据、内核状态和一组寄存器组成,而线程是由表示程序运行状态的寄存器,如程序计数器、栈指针以及堆栈组成,线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。线程是一个用户级的实体,线程结构驻留在用户空间中,能够被普通的用户级方法直接访问。

  31.C。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是public、protected,private,static,final,transient,volatile等。选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以";"结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。

  12.B。【解析】start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是run()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用displayOutput(Strings)方法输出thasbeencreated。t.start()方法调用run()方法,输出tisrunning,所以正确答案为选项B。

  13.C。【解析】本题考查异常的概念。首先应该掌握题目选项中给出的都是什么类型的异常。选项A是当访问数组中非法元素时引发,出现数组负下标异常。选项B是格式化数字异常。选项C是算术异常,如程序触发分母为0,或用0取模时出现。选项D是文件已结束异常。当Java执行这个算术表达式的时候,由于求模运算的分母是a-b-d=0,就会构造一个ArithmetieException的异常对象来使程序停下来并处理这个错误的情况,在运行时抛出这个异常。默认的处理器打印出Exception的相关信息和发生异常的地点。

  14.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正确。

  35.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,所以退出循环,程序结束。

  16.A。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。

  17.B。【解析】本题考查switch-case-break的用法。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以该题i=1时执行easel分支语句,而casel分支语句后没有break语句,程序继续向下执行case2分支语句,case2语句后有break语句,故程序不执行default分支语句。

  18.B。【解析】本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout是Window、Frame和Dialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件;OridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout把容器分成许多层,每层只能放置一个构件。

  19.C。【解析】本题考查Java输入\输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OutputStream抽象类,又实现了0bjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。

  20.A。【解析】本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非常简单。程序的public类是thtowsExeeption,类中定义了Proe(intsel)方法。程序入口是main()方法,使用try-catch-finally来捕获ArithmeticExeeption和ArrayIndexOutOfBoundsExeeption异常,这两个异常是关于算术异常或数组索引越界的异常。执行Proe(0)时,输出InSituation0和noExceptioncaught两条信息;执行Proc(1)时,输出InSituationl和inProcfinally两条信息。整个程序并未发生异常。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心