计算机等级 > 二级考试 > Java语言程序设计 > 模拟试题 > 文章内容

全国计算机二级JAVA考试精选选择题(8)

2017-8-7编辑:daibenhua

  1.下列关于栈叙述正确的是()。

  A.栈顶元素能最先被删除

  B.栈顶元素最后才能被删除

  C.栈底元素永远不能被删除

  D.以上三种说法都不对

  2.下列叙述中正确的是()。

  A.有一个以上根结点的数据结构不一定是非线性结构

  B.只有一个根结点的数据结构不一定是线性结构

  C.循环链表是非线性结构

  D.双向链表是非线性结构

  3.某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)()。

  A.3

  B.4

  C.6

  D.7

  4.在软件开发中,需求分析阶段产生的主要文档是()。

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  5.结构化程序所要求的基本结构不包括()。

  A.顺序结构

  B.GOT()跳转

  C.选择(分支)结构

  D.重复(循环)结构

  6.下面描述中错误的是()。

  A.系统总体结构图支持软件系统的详细设计

  B.软件设计是将软件需求转换为软件表示的过程

  C.数据结构与数据库设计是软件设计的任务之一

  D.PAD图是软件详细设计的表示工具

  7.负责数据库中查询操作的数据库语言是()。

  A.数据定义语言

  B.数据管理语言

  C.数据操纵语言

  D.数据控制语言

  8.一个教师可讲授多门课程,一门课程可由多个教师

  讲授。则实体教师和课程间的联系是()。

  A.1:l联系

  B.1:m联系

  C.m:1联系

  D.m:n联系

  9.有三个关系R、S和T如下:

  

  则由关系R和S得到关系T的操作是()。

  A.自然连接

  B.交

  C.除

  D.并

  10.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。

  A.-369

  B.369

  C.0.369

  D.整数集合{1,2,3,4,5}

  11.下列关于面向对象的论述中,正确的是()。

  A.面由对象是指以对象为中心,分析、设计和实现应用程序的机制

  B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制

  C.面向对象仅适用于程序设计阶段

  D.面向对象是一种程序设计语言

  12.语句"Hell0".equals("hell0");的正确执行结果

  publicstaticvoidmain(String[]args){

  int[]x={0,1,2,3};

  for{inti=0;i<3;1+=2){

  try{

  systcm.OUt.println(x[i+2]/x[i]+x[i+1]);

  }catch(ArithmeticExceptione){

  System.OUt.println("errorl"):

  }catch(Exceptione){

  System.OUt.println("error2"):

  }

  }

  }

  }

  A.errorl

  B.error2

  C.errorl

  D.2

  orror2error2

  16.下列整数的定义中,错误的是()。

  A.intf=314.;

  B.inta=012;

  C.inti=189;

  D.intd=0x123;

  17.要得到某目录下的所有文件名,在下列代码的下画

  线处应填入的内容是(两个下画线的填写内容相同)()。

  pathName=new(args[o]);

  String[]fileNames=pathName.list();

  A.FilefnputStreamB.FileOutputStream

  C.FileD.RandomAccessFile

  18.在下列代码的下i画线处应填人的内容是()。

  publicclassFirstSample{

  publicstaticvoidmain(args[]){

  System.out.println("你好!");

  }

  }

  A.staffB.double

  C.intD.String

  19.Object类中的方法publicinthashCode[],在其子类中

  覆盖该方法时,其方法修饰符可以是()。

  A.protectedB.public

  C.privateD.缺省

  20.下列代码中的内部类名是()。

  importjava.awt.event.*;

  lapoctjavax.swin9.*;

  classTalkingClock(

  publicvoidstart(intinterval,finalbooleanbeep){

  ActionListenerlistener=new

  ActionListener(){

  publicvoidactionPerformed(ActionEvente-

  vent){

  …

  }

  }

  Timert=newTimer(interval,listener);

  t.start();

  }

  }

  A.Timer

  B.ActionListener

  C.1istener

  D.匿名

  21.已知zipname是一个压缩文件名。则zipname在下列代码中出现的正确位置是()。

  ZipInputStreamzin=

  newZipInputStzeam(newFileInputStream(①));

  ZipEntryentry;

  while((entry=zin.getNextEntry(②))!=null){

  fileCombo.addltem(entry.getNamc(③));

  zin.closeEntry(④);

  }

  zin.close();

  A.①

  B.②

  C.③

  D.④

  22.下列代码的执行结果是()。

  intnumbers[]=newint[6];

  for(inti=1;inumbers[[i]=i-1;

  Systern.OUt.print(numbers[I]+"");

  A.012345

  B.123456

  C.01234

  D.12345

  23.JavaAPIee支持线程的类或接口是()。

  Ⅰ.java.lang.Thread

  Ⅱ.java.lang.Runnable

  Ⅲ.java.lang.ThreadGroup

  IV.java.io.Serializable

  A.I,ⅡB.I,Ⅱ,Ⅲ

  C.I,Ⅱ,IVD.I,Ⅱ,Ⅲ,Ⅳ

  24.下列关于Test类的定义中,正确的是()。

  A.classTestimplementsRunnable{

  publicvoidrun(){}

  DublicvoidsomeMethod[]{}

  }

  B.classTestimplementsRunnable(

  puIblicvoidrun();

  }

  C.classTestimplementsRunnable(

  DublicvoidsomeMethod[];

  }

  D.classTestimplementsRunnable(

  publicvoidsomeMethod(){}

  }

  25.下列方法被调用后,一定使调用线程改变当前状态的是()。

  A.notify()

  B.yield()

  C.sleep()

  D.isAlive()

  26.在堆栈类Sharedstack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下画线处填入的修饰符是(两个下画线的填写内容相同)()。

  publicclassSharedStack{

  intidx=0;

  char[]data=newchar[10];

  publicsynchtonizedvoidpush(charc){……}

  publR,synchronizedvoidpop(){……}

  }

  A.Dublic

  B.不使用修饰符

  C.private

  D.protected

  27.关于下列代码编译或执行结果的描述中,正确的是()。

  publicclassTest{

  publicstaticvoidmain(StringargsE]){

  TcstThreadpml=newTestThread("One")

  pml.start();

  TestThreadpm2=newTestThread("Tw0")

  pm2.start();

  }

  }

  classTestThreadextendsThread(

  privateStringsTname="";

  TestThread(Strings){

  sTname=s;

  }

  publicvoidrun(){

  for(inti=O;i<2;i++){

  try{

  sleep(1000);

  }catch(InterruptedExceptione){}

  system.out.print(sTname+"");

  }

  }

  }

  A.不能通过编译,TestThread类中不能定义变量和构造方法

  B.输出OneOneTwoTwo

  C.输出TwoOneOneTwo

  D.选项B或C都有可能出现

  28.下列关于Applet的叙述中,正确的是()。

  A.为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类

  B.Applet不能从外部接收参数

  C.Applet不能使用javac命令进行编译

  D.JavaApplication与Applet都必须包含main()方法

  29.下列代码的下画线处应填入的方法名是()。

  importjava.awt.*;

  importjava.applet.*;

  publicclassHelloextendsApplet{

  publicvoid(Graphicsg){

  9.drawstring("Howareyou!",l0,10);

  }

  }

  A.repaintB.println

  C.paintD.show

  30.下列变量的定义中,错误的是()。

  A.intX=3;

  B.floatf;d;

  C.Strings="Hell0";

  D.booleanb=true;

  31.下列代码的执行结果是()。

  intlength="Hell0".length();

  System.OUt.println(length);

  A.5

  B.2

  C.10

  D.6

  32.下列代码的编译或执行结果是()。

  publicclassMyval{

  publicstaticvoidmain(stringargs[]){

  MyValm=newMyVal();

  m.aMethod();

  }

  publicvoidaMethod(){

  booleanb[]=newBoolean[5];

  System.OUt.println(b[0]);

  }

  }

  A.1

  B.null

  C.0

  D.编译错误

  33.若变量a是String类型的数据,那么表达式(a+a)的类型是()。

  A.char

  B.String

  C.int

  D.long

  34.Component类中用于刷新组件的方法是()。

  A.getFont()

  B.getName()

  C.update()

  D.paint()

  35.鼠标在窗口中移动时,产生的事件是()。

  A.ActionEvent

  B.PrintEvent

  C.KeyEvent

  D.MouseEvent

  36.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序历结果为()。

  A.ACFBED

  B.DFBECA

  C.ABCDEF

  D.DEBFCA

  37.在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则关系A的外码是()。

  A.CN

  B.SN

  C.S

  D.D

  38.若类声明加上()修饰符,则表示该类不能有子类。

  A.close

  B.final

  C.down

  D.end

  39.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。下列代码中必须实现Serializable接口的类是()。

  obiectInputin=

  newObjectlnputStream(newFileInputStream("am-

  ployee.dat"));

  Employee[]newStaff=(Employee[1]in.readobject();

  A.EmployeeB.Input

  C.StaffD.Stream

  40.下列代码的执行结果是()。

  publicclassExpression{

  publicstaticvoidmain(Stringarga[](

  Intvl=10,v2=99,v3=0;

  System.Out.prIntln((vl}

  }

  A.9.9

  B.3

  Cfalse

  D.true

  1.A。【解析】栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。

  2.D。【解析】线性表的特点是:在数据元素的非空有限集合中;存在唯一的一个被称为“第一个”的数据元素;存在唯一一个被称为“最后一个”的数据元素;除第一个以外,集合中的每个数据元素均只有一个后继;除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。

  3.D。【解析】对于任意一棵二叉树T,如果叶子结点数为n0,度为2的结点数为n2,二者之间的关系是n0=n2+1,该题中度为2的结点数为0,且只有一个叶子结点,因此,树中度为l的结点有6个,很容易想到树的高度为7。

  4.D。【解析】需求分析阶段只能产生需求分析规格说明数,A测试说明书是软件测试阶段生成的,B软件详细设计说明书是设计阶段生成的,C用户手册是软件发布时随软件一同交付给用户的。

  5.B。【解析】结构化程序设计的三种结构是顺序、分支和循环,不包括goto跳转,它只是分支结构的一种,也是一个关键字。

  6.A。【解析】软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。

  7.C。【解析】数据库操纵语言专门负责查询、增加和删除等数据操作。

  8.D。【解析】一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的E—R关系。

  9.C。【解析】S中的关系全部出现在R中,只有做除法操作才会出现关系T。

  10.B。【解析】A是有符号数,C是浮点数,D是集合,并不是类的实例化对象,只有B完全符合。

  11.A。【解析】面向对象是一种程序设计方式,Java、C++是面向对象设计的语言,而C是面向过程设计的语言。面向对象设计适应于设计、编码、实现、测试等一系列环节。

  12.B。【解析】Java是强类型检查语言,字符串的equals方法执行的返回值是true或者false。

  13.B。【解析】一个文件的public类最多可以有一个,但是可以包含多个import,包含的接口定义也可以有多个,包含的class类可以有多个,当该文件命名时,可以以public类名来命名,反之编译之后将有多个.class文件生成。

  14.D。【解析】Java的关键字中不包含NULL,它是C语言的关键字,表示空。

  15.C。【解析】当0作为除数时,会产生异常,而ArithmeticException和Exception两类异常都内部被捕捉到。

  16.A。【解析】整数的定义不能带小数点,表明是一个浮点数;其他三个都正确。

  17.C。【解析】使用File类的list方法可以获得目录下所有文件名称,FileInputStream和FileOutputStream类都不具有list方法。

  18.D。【解析】这是学习Java语言接触的第一个程序,main函数的参数是Stringargs[]。

  19.B。【解析】所有的类都是Object的子类,如果要覆盖Object的equals方法则必须覆盖hasCode方法,覆盖时的属性是public。

  20.B。【解析】内部类就是在类内部重新定义的新类,该类能连接外部类,但是不能和外部类进行通信。AetionL.istenser有自己的类方法体,而Timer没有,只是实例化了一个Timer对象。

  21.A。【解析】该程序的功能是从zip压缩文件中获取各个文件的名字。因此应该在A处。

  22.C。【解析】该题是简单的for循环考题,通过逐一判断可得到答案,数组的长度是6,数组的内容从下标1开始,最大循环是5,numbers[5]的值是4。

  23.A。【解析】java.lang.Thread类和java.lang.Runnable是创建线程的两个方法,分别是实现Thread类和继承Runnable接口,而ThreadGroup类是管理一组线程的类。而Serializable是序列化,将一个对象的状态保存起来,在适当的时候再获得,它不支持线程。

  24.A。【解析】java中实现多线程的方法之一就是实现Runnable接口中的run方法,把实现Runnable接口的子类对象传递给Thread类的构造函数。

  25.C。【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。

  26.C。【解析】堆栈中为了保证访问数据的一致性,应该对类的数据进行封装,而实现类数据封装的级别是private。

  27.D。【解析】启动两个线程,线程之间没有进行同步,所以B和C均有可能。

  28.A。【解析】applet程序必须在浏览器中运行,因此它需要支持applet类,而applet程序可以接受外部参数,可以使用javac编译,但是可以不用包含main函数。

  29.C。【解析】这里使用一个继承自Applet的类来显示字符。主要方法是在paint()方法中使用System.out.println()显示。

  30.B。【解析】正确的方法是floatf,d;,中间应该使用“,”而不是“;”,因为在Java中“;”表示一个语句结束。

  31.A。【解析】字符串"Hello"的长度是5,java在计算字符串长度时只计算实际字符串长度。

  32.A。【解析】boolean类型的变量值只有ture或false,b[0]的默认初始值为false。

  33.B。【解析】Java中允许两个String类型进行+运算,其结果仍旧是String类型。

  34.C。【解析】getFont方法用来获取字体,getName方法用于获取组件的名字,paint方法用于绘制组件,update方法用于刷新组件。

  35.D。【解析】鼠标在窗口中移动产生的事件是MouseEvent事件,ActionEvent是动作事件处理,PrintEvent是打印事件,KeyEvent是键盘事件。

  36.D。【解析】这类题型一般通过前序遍历的结果来找根结点,用中序遍历的结构找分支结点,通过画出该二叉树可得到结果。

  37.D。【解析】外码用于建立和加强两个关系之间的连接,通过将保存关系中主键值的一列或多列属性添加到另一个关系中,可建立两个关系之间的联系,这个列属性称为第二关系的外码。

  38.B。【解析】如果一个类被final修饰符修饰说明这个类不可能有子类,被定义为final的类通常是一些有固定作用,用来完成某种标准功能的类。

  39.A。【解析】一个对象能够实现序列化的前提是实现Serializable接口,Serializable接口没有方法,更像是一个标记,有了这个标记的Class才能被序列化机制处理。

  40.C。【解析】此题后半部分除数是0,按常理说应该报异常,且不会得出结果。但是在计算&&运算时采用了部分结果方法,即先运算前半部分,如果前半部分为假,则不必计算后半部分,整个结构为假,如果前半部分为真,这时才计算后半部分的值,在此,前部分已经为假,所以结果就不用计算后半部分。

全国计算机二级JAVA考试精选选择题(7)

热点推荐

登录注册
触屏版电脑版网站地图