计算机二级Java精选习题及答案1.docx

上传人:b****7 文档编号:11042647 上传时间:2023-02-24 格式:DOCX 页数:14 大小:21.33KB
下载 相关 举报
计算机二级Java精选习题及答案1.docx_第1页
第1页 / 共14页
计算机二级Java精选习题及答案1.docx_第2页
第2页 / 共14页
计算机二级Java精选习题及答案1.docx_第3页
第3页 / 共14页
计算机二级Java精选习题及答案1.docx_第4页
第4页 / 共14页
计算机二级Java精选习题及答案1.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

计算机二级Java精选习题及答案1.docx

《计算机二级Java精选习题及答案1.docx》由会员分享,可在线阅读,更多相关《计算机二级Java精选习题及答案1.docx(14页珍藏版)》请在冰豆网上搜索。

计算机二级Java精选习题及答案1.docx

计算机二级Java精选习题及答案1

计算机二级Java考试精选习题及答案

(1)

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

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两条信息。

整个程序并未发生异常。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1