淘小兔

一、选择题(每小题1分,共40小题,共40分) 

1.下列叙述中正确的是()。 
  A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 
  B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 
  C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 
  D.上述三种说法都不对 

2.下列叙述中正确的是()。 
  A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 
  B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 
  C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 
  D.上述三种说法都不对 

3.软件测试目的是()。 
  A.评估软件可靠性 
  B.发现并改正程序中的错误 
  C.改正程序中的错误 
  D.发现程序中的错误 

4.下面描述中,不属于软件危机表现的是()。 
  A.软件过程不规范 
  B.软件开发生产率低 
  C.软件质量难以控制 
  D.软件成本不断提高 

点击进入>>全国计算机等级考试真题题库全套最新考试资料

5.软件生命周期是指()。 
  A.软件产品从提出、实现、使用维护到停止使用退役的过程 
  B.软件从需求分析、设计、实现到测试完成的过程 
  C.软件的开发过程 
  D.软件的运行维护过程 

6.面向对象方法中,继承是指()。 
  A.一组对象所具有的相似性质 
  B.一个对象具有另一个对象的性质 
  C.各对象之间的共同性质, 
  D.类之间共享属性和操作的机制 

7.层次型、网状型和关系型数据库划分原则是()。 
  A.记录长度 
  B.文件的大小 
  C.联系的复杂程度 
  D.数据之间的联系方式 

8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。 
  A.一对一 
  B.一对多 
  C.多对多 
  D.多对一 

9.数据库设计中反映用户对数据要求的模式是()。 
  A.内模式 
  B.概念模式 
  C.外模式 
  D.设计模式 

10.有三介关系R、S和T如下:

2021年计算机二级考试JAVA专家预测试卷(3) 
  则由关系R和S得到关系T的操作是()。 
  A.自然连接 
  B.交 
  C.投影 
  D.并

点击进入>>全国计算机等级考试真题题库全套最新考试资料

11.下列关于顺序存储结构的叙述中,错误的是()。 
  A.存储密度大 
  B.某些非线性结构也可以采用顺序方法存储 
  C.结点中只有自身信息域,没有链接信息域 
  D.便于进行插入、删除等运算操作 

12.有下三角矩阵A[0…10,0…10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,53的存放地址为()。 
  A.110 
  B.120 
  C.130 
  D.140 

13.设数组data[0…m]作为循环队列Sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()。 
  A.Sq↑.front:=Sq十.front+1; 
  B.Sq↑.front:=(Sq十.front+1)%maxsize; 
  C.Sq↑.rear:=(sq十.rear+1)%maxsize; 
  D.Sq↑.front:=(sq十.front+1)%(maxsize+1); 

14.如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?() 
  A.BED 
  B.BDE 
  C.BEDC 
  D.BDEC 

15.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码95被放到第()个位置。 
  A.7B.8 
  C.9D.10 

16.下列特点中不属于Java的是()。 
  A.多线程 
  B.多重继承 
  C.跨平台 
  D.动态性 

17.Java的反汇编命令是()。 
  A.javap 
  B.javac 
  C.jdb 
  D.java 

18.下列变量定义中,不合法的是()。 
  A.intSX; 
  B.int_123; 
  C.intSummer2010_gross_sale; 
  D.int#dim; 

19.下列选项中为单精度数的是()。 
  A.2B.5.2 
  C.0.2fD.023 

20.下列关于boolean类型的叙述中,正确的是()。 
  A.可以将boolean类型的数值转换为int类型的数值 
  B.可以将boolean类型的数值转换为字符串 
  C.可以将boolean类型的数值转换为char类型的数值 
  D.不能将boolean类型的数值转换为其他基本数据类型

21.若定义inta=2,b一2,下列表达式中值不为4的是()。 
  A.a*(++b) 
  B.a*(b++) 
  C.a+b 
  D.a*b 

22.下列可以获得构件前景色的方法是()。 
  A.getsize() 
  B.getForeground() 
  C.getBackground() 
  D.paint() 

23.下列程序的运行结果是()。 
  publicclasstest{ 
  privateString[]data={¨10","10.5"); 
  publicvoidfun(){ 
  doubles=0: 
  for(inti=0;i<3;j++){ 
  try{ 
  s=s+Integer.parseInt(data[i]); 
  catch(Exceptione){ 
  System.out.print("errorl:"+data[i]); 
  } 
  } 
  } 
  publicstaticvoidmain(string[]args){ 
  try{ 
  testd=newtest(): 
  d.fun(): 
  }catch(Exceptione){ 
  System.OUt.println("error2") 
  } 
  } 
  } 
  A.errorl:10.5B.error2 
  C.errorl:10.5error2D.以上都不对 

24.下列程序片段中,能通过编译的是()。 
  A.publicabstractclassAnimal{ 
  publicvoidspeak();} 
  B.publicabstractclassAnimal{ 
  publicvoldspeak()();} 
  C.publicclassAnimal{ 
  pubilcabstractvoidspeak();} 
  D.publicabstractclassAnimal{ 
  pubilcabstractvoidspeak()();} 

25.下列不属于接口WindowListener的方法是()。 
  A.windowClosing() 
  B.windowClosed() 
  C.windowMinimized() 
  D.windowOpened() 

26.下列选项中,不能输出100个整数的是()。 
  A.for(inti=0;i<100;i++) 
  System.out.println(i); 
  B.inti=0; 
  do{ 
  System.out.println(i); 
  i++: 
  }while(i<100); 
  C.inti=0: 
  while(i<100){ 
  System.out.println(i); 
  i++: 
  } 
  D.inti=0: 
  while(i<100){ 
  i++: 
  if(i<100)continue: 
  System.out.println(i); 
  } 

27.类变量必须带有的修饰符是()。 
  A.static 
  B.final 
  C.public 
  D.volatile 

28.下列选项中属于字符串常量的是()。 
  A.·abc· 
  B."abe" 
  C.[abc] 
  D.(abc) 

29.Java程序默认引用的包是()。 
  A.java.text包B.java.awt包 
  C.java.lang包D.java.util包 

30.为使下列代码正常运行,应该在下画线处填入的选项是()。 
  ObjectInputStreamIn= 
  new(newFilelnputStream("employee. 
  doc")); 
  Employee[]newstaff=(Employee[])in.readObject 
  (); 
  In.close(); 
  A.Reader 
  B.InputStream 
  C.Objectlnput 
  D.ObjectlnputStream

31.下列代码将对象写入的设备是()。 
  ByteArrayOutputStreambout=newByteArrayOut- 
  putStream(); 
  ObjectOutputStreamout=newObjectOutputStream 
  (bout); 
  out.writeObject(this); 
  out.close(); 
  A.内存 
  B.硬盘 
  C.屏幕 
  D.网络 

32.为使下列代码正常运行,应该在下画线处填入的选项是()。 
  int[]numbers=newint[n]; 
  for(inti=0;i  numbers[i]=i+1: 
  A.sizeB.length 
  C.dimensionD.measurement 

33.为使下列代码正常运行,应该在下画线处填入的选项是()。 
  abstractclassperson{ 
  publicPerson(Stringn){ 
  name=n: 
  } 
  publicStringgetDescription(); 
  publicStringgetName(){ 
  returnname; 
  } 
  privatestringname; 
  } 
  A.static 
  B.private 
  C.abstract 
  D.final 

34.下列能够正确创建线程的方法是(.)。 
  Ⅰ.继承java.lang.Thread类,并重写run()方法 
  Ⅱ.继承java.lang.Runnable类,并重写start()方法 
  Ⅲ.实现java.1ang.Thread接口,并实现run()方法 
  IV.实现java.lang.Runable接口,并实现run()方法 
  A.Ⅰ,ⅢB.Ⅱ,IV 
  C.Ⅱ,ⅢD.I,IV 

35.下列线程状态转换序列,在线程实际运行中可能出现的序列是()。 
  A.新建→运行→阻塞→终止 
  B.……运行→阻塞→可运行→终止 
  C.……可运行→运行→阻塞→运行…… 
  D.新建→可运行→运行→阻塞→可运行…… 

36.为了支持压栈线程与弹栈线程之间的交互与同步,应 
  在下画线处填入的选项是()。 
  publicclassStackTest{ 
  privateintidx=0; 
  privateint[]data=newint[8] 
  publicvoidpush(inti){ 
  synchronized(this){ 
  ; 
  data(idx)=i: 
  idx++: 
  } 
  } 
  }…… 
  A.this.notify() 
  B.interrupt() 
  C.this.wait() 
  D.sleep() 

37.对下列程序的叙述中,正确的是()。 
  1)publicclassXextendsThreadimplementsRunnable{ 
  2)publicvoidrun(){ 
  3)system.out.println("thisisrun()"); 
  4)} 
  5)publicstaticvoidmain(Stringargs[]){ 
  6)Threadt=newThread(newX()); 
  7)t.start(); 
  8)} 
  9)} 
  A.第l行会产生编译错误 
  B.第6行会产生编译错误 
  C.第6行会产生运行错误 
  D.程序正常运行 

38.下列关于Applet的叙述中,正确的是()。 
  A.Applet不仅可以嵌入到浏览器中运行,还可以独立运行 
  B.Applet的主类要定义为Applet类或JApplet类的子类 
  C.同一个页面中的Applet之间不能通信 
  D.Applet不支持多线程 

39.当一个Applet所在的Web页面被其他页面覆盖后,不可能被调用的Applet方法是()。 
  A.destroy() 
  B.init() 
  C.stop() 
  D.start()

 

二、基本操作题(共18分) 

本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,并输出比较结果。 
publicclassjaval{ 
  publicstaticvoidmain(String[]args){ 
  ; 
  cl=’A’;c2=’a’; 
  Stringstrl=newString("A"),str2=newString 
  ("a"): 
  if() 
  System.Out.println("char"+c1+"equals"+"char" 
  +c2); 
  else 
  System.OUt.println("char"+cl+"doesn’tequal 
  "+"char"+c2); 
  if() 
  System.out.println("string"+strl+"equals"+ 
  "string"+str2): 
  else 
  System.OUt.println("string"+strl+"doesn’te- 
  qual"+"string"+str2);. 
  } 
  }

 

三、简单应用题(共24分) 

  本题是一个Applet,页面上有一个按钮“请单击”,单击该按钮后弹出一个对话框,对话框上有三个按钮“橙色”、“蓝色”和“红色”,单击其中任意一个按钮,则可以将对话框的背景色设置为按钮名称所对应的颜色。 
  importjava.awt.*; 
  importjava.awt.event.*; 
  importjavax.swing.*; 
  publicclassjava2extendsJApplet 
  { 
  privateJFrameframet; 
  () 
  { 
  frame=newJFrame(); 
  frame.setTitle("java2"); 
  frame.setSize(300,200); 
  frame.getContentPane().add(newButtonPanel 
  ()); 
  JButtonPopButton=newJButton("请单击"); 
  getContentPane().add(PopButton); 
  PopButtomaddActionListener(newActionListener(); 
  { 
  publicvoidactionPerformed(ActionEventevt) 
  { 
  if(frame.isVisible())frame.setVisible(false); 
  else; 
  } 
  }); 
  } 
  } 
  classButtonPanelextendsJPanel 
  { 
  privateclassColorActionimplementsActionLis- 
  tener 
  { 
  privateColorbackgroundColor; 
  publicvoidactionPerformed(ActionEventaction- 
  event) 
  { 
  setBackground(backgroundColor); 
  repaint(); 
  } 
  publicColorAction(Colorcolor) 
  { 
  backgroundColor=color; 
  } 
  } 
  publicButtonPanel() 
  { 
  JButtonjbutton=newJButton("橙色"); 
  JButtonjbuttonl=newJButton("蓝色"); 
  JButtonjbutton2=newJButton("红色"); 
  add(jbutton); 
  add(jbuttonl); 
  add(jbutton2); 
  ColorActioncoloraction=newColorAction(Color.orange); 
  ColorActioncoloractionl=newColorAction(Color.blue); 
  ColorActioncoloraetion2=newColorAction(Color.red); 
  ibutton.addActionListener(coloraction); 
  ibuttonl.addActionListener(coloractionl); 
  jbutton2.addActionListener(coloraction2); 
  } 
  }

 

四、综合应用题(共18分) 

  本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sampletext”和“Textcolorcontrol”,窗口的底部还有一个复选按钮“Disablechanges”。在“Sampletext”面板中有一个带有字符串的文本框,而在“Textcolorcontrol”面板中有三个按钮:“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框中的文本变成对应的颜色,如果选中“Disablechanges”复选项,则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。 
  importjavax.swing.*; 
  importjava.awt.*; 
  importjava.awt.event.*; 
  publicclassjava3extendsJFrame{ 
  privateJPanelupper,middle,lower; 
  privateJTextFieldtext; 
  privateJButtonblack,red,green; 
  privateJCheckBoxdisable; 
  publicjava3(StringtitleText){ 
  super(titleText); 
  addWindowListener(newWindowAdapter(){ 
  publicvoid 
  windowClosing(WindowEvente){ 
  System.exit(0); 
  } 
  } 
  ); 
  upper=newJPanel(); 
  upper.setBorder(BorderFactory.ereateTitledBor- 
  der("Sampletext")); 
  upper.setlayout(newBorderLayout()); 
  text=newJTextField("Changethecolorofthis 
  text"): 
  upper.add(text,BorderLayout.CENTER); 
  middle=newJPanel(); 
  middle.setBorder(BorderFactory.createTitledBor- 
  der("Textcolorcontrol")); 
  middle.setLayout(newFlowLayout(FlowLayout. 
  CENTER)): 
  black=newJButton("Black",newColorIcon 
  (Color.black)); 
  black.addActionListener(newButtonListener 
  (Color.black)); 
  middle.add(black); 
  red=newJButton("Red",newColorIcon(Col- 
  or.red)); 
  red.addActionListener(newButtonListener(Col- 
  or.red)); 
  middle.add(red); 
  green=newJButton("Green",newColorIcon 
  (Color.green)); 
  green.addActionListener(newButtonListener 
  (Color.green)); 
  middle.add(green); 
  lower=newJPanel(); 
  lower.setLayout(newFlowLayout(FlowLayout. 
  RIGHT)); 
  disable=newJCheckBox("Disablechanges"): 
  disable.addItemListener(newItemListener()( 
  publicvoiditemStateChanged(ItemEvente){ 
  booleanenabled 
  =(e.getStateChange() 
  ==ItemEvent.DESELECTED): 
  black.setEnabled(enabled); 
  red.setEnabled(enabled); 
  green.setEnabled(enabled); 
  } 
  } 
  ); 
  lower.add(disable); 
  Containercp=getContentPane(); 
  cp.add(upper,BorderLayout.NORTH); 
  cp.add(middle,BorderLayout.CENTER); 
  cp.add(10wer,BorderLayout.SoUTH); 
  pack(); 
  setVisible(true); 
  } 
  classButtonListenerextendsActionListener{ 
  privateColorc; 
  publicButtonListener(Colorc){ 
  this.c=c; 
  } 
  publicvoidactionPerformed(ActionEvente){ 
  text.setForeground(c); 
  } 
  } 
  classColorIconimplementsIcon{ 
  privateColorc; 
  privatestaticfinalintDIAMETER=10; 
  publicColorIcon(Colorc){ 
  c=c; 
  } 
  publicvoidpaintlcon(Componentcp,Graphicsg, 
  intx,inty){ 
  g.setColor(c); 
  g.fillOval(X,y,DIAMETER,DIAMETER); 
  g.setColor(Color.black); 
  g.drawOval(x,y,DIAMETER,DIAMETER); 
  } 
  publicintgetlconHeight(){ 
  returnDIAMETER; 
  } 
  publicintgetlconWidth(){ 
  returnDIAMETER; 
  } 
  } 
  publicstaticvoidmain(String[]args){ 
  newjava3("advance"); 
  } 
  }

 

参考答案:

  一、选择题 
  1.B。【解析】与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。 
  2.C。【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。 
  3.D。【解析】软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多的bug。 
  4.A。【解析】①对软件开发的进度和费用估计不准确;②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 
  5.A。【解析】软件生命周期(SDLC,SystemsDevelopmentLifeCycle)是软件的产生直到退役的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。 
  6.D。【解析】继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性.这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承,单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。Java是一种单重继承语言,而C++是一种多重继承语言。 
  7.D。【解析】层次型、网状型和关系型数据库划分的原则是数据之间的联系方武。 
  8.C。【解析】一个工作人员对应多台计算机,一台计算机对应多个工作人员,则实体工作人员与实体计算机之间的联系是多对多。 
  9.C。【解析】外模式,也称为用户模式。在一个数据库模式中,有n个外模武,每一个外模式对应一个用户。外模式保证数据的逻辑独立性。内模式属于物理模式,因此,一个数据库只有一个内模式。内模式规定了数据的存储方式、规定了数据操作的逻辑、规定了数据的完整性、规定了数据的安全性、规定了数据存储性能。 
  10.A。【解析】自然连接是将表中具有相同名称的列自动进行记录匹配。 
  11.D。【解析】顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其存储密度大,但插入、删除运算操作不方便,需移动大量的结点。 
  12.D。【解析】A[5][5]元素存储的位置在第6行第6列,但由于矩阵A为下三角矩阵,所以A[5][5]之前的非零元素才计入地址内,因而所存储的非零元素的个数应为l+2+3+4+5+5=20,这些元素占用的空间为20×2=40字节,所以A[8][5]的存储位置为l00+40=140。 
  13.B。【解析】循环队列采用的方法是:假设向量sq↑.data[maxsize]是一个首尾相接的圆环,即sq↑.data[0]接在sq↑.data[maxsize-1]之后,我们将这种意义下的向量 
  称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时,令尾指针等于向量的下界,这样就利用到已被删除的元素空间,克服假上溢现象。因此入队操作时,在循环意义下的尾指针加l操作可描述为:if(Sq↑.rear>=maxsize)sq↑.near:=0;elsesq↑.rear++;如果利用“模运算”,上述循环意义下的 
  尾指针加l操作,可以更简洁地描述为:sq↑.rear=(sq↑.rear+1)%maxsize。同样,出队操作时,在循环意义下的头指针加1操作,也可利用“模运算”来实现:sq↑.front:=(sq↑.front+1)%max-size。 
  14.D。【解析】根据栈的先进后出原则,可知从栈中删除的元素的序列为BDEC。 
  15.B。【解析】快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。具体操作如下图:

 

2021年计算机二级考试JAVA专家预测试卷(3) 
  进行第一趟排序完成后的结果如下: 
  12,18,9,25,67,82,53,95,33,70 
  所以第一趟排序完成后关键码95被放到第8个位置。 
  16.B。【解析Java不支持多重继承(子类只能有一个父类)。 
  17.A。【解析]javap命令是Java反汇编命令;javac命令是Java语言编译器,jdb是基于文本和命令行的调试工具,java命令是Java解释器。 
  18.D。【解析】Java中标识符的命名规则为:①区分大小写,例如a和A是两个变量;②标识符由字母、下画线、美元符号和数字组成,并且第一个字符不能是数字。 
  19.C。【解析]Java中单精度常量以f或F结尾。 
  20.D。【解析】由于基本数据类型中boolean类型不是数字型,所以基本数据类型的转换是除了boolean类型以外的其他7种类型之间的转换。

  21.A。【解析】++b,先自加,再计算,即a*(++b)等价于b=b+1;a*b。 
  22.B。【解析】A是获得控件大小,B是获得构件的前景色,C是获得构件的背景色,D是继承Applet的子类需要实现的方法。 
  23.C。【解析】try-catch块是可以嵌套分层的,并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catchblock的过程。①首先在抛出异常的try-catch块中查找catchblock,按顺序先与第一个catchblock块匹配,如果抛出的异常对象的数据类型与catchblock中传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入到catchblock中执行,否则到第2步; 
  ②如果有两个或更多的catchblock,则继续查找匹配第二个、第三个,直至最后一个catchblock,如匹配成功,则进入到对应的catchblock中执行,否则到第3步; 
  ③返回到上一级的try-catch块中,按规则继续查找对应的catchblock。如果找到,进入到对应的catchblock中执行,否则到第4步; 
  ④再到上上级的try-catch块中,如此不断递归,直到匹配到顶级的try-catch块中的最后一个catchblock,如果找到,进入到对应的catchblock中执行;否则程序将会执行terminate()退出。所以本题选C。 
  24.A。【解析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类 
  也可以没有abstract方法)。有abstract方法的父类只声明,由继承他的子类实现。所以选A。 
  25.C。【解析】接口WindowListener包括以下方法:windowActivated、windowDeactivated、windowClosing、windowClosed、windowlconified、windowDeiconified、windowOpened方法。所以选C。 
  26.D。【解析]continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。 
  27.A。【解析】类变量用static修饰。 
  28.B。【解析】Java中字符串常量由双引号和其中间的字符所组成。 
  29.C。【解析】java.lang包分享Java编程语言进行程序设计的基础类。java.1an9包是编译器自动导入的。 
  30.D。【解析】ObjectlnputStream类和ObjectOutputStream类分列是InputStream类和OutputStream类的子类。ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。对象输入流使用readObject()方法读取一个对象到程序中。 
  31.A。【解析】()bject()utputStream类的构造方法是ObjectOutputStream(0utputStreamout)。Java中的二进制流全都写入到内存中。 
  32.B。【解析】length表示数组的长度。 
  33.C。【解析】抽象类中的抽象方法可以只声明,定义延迟到其子类。 
  34.D。【解析】用Thread类的构造方法Thread(Runnabletarget)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建目标对象的类必须要实现Runnable接口。 
  35.D。【解析】线程状态转换序列如下图所示:

 

2021年计算机二级考试JAVA专家预测试卷(3) 
  ,故选D。 
  36.A。【解析】当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait()方法。wait()方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notifyAll()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。 
  37.D。【解析】程序正常运行打印thisisrun()。用Thread类的构造方法Thread(Runnabletarget)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建的目标对象的类必须实现Runnable接口。 
  38.B。【解析】Applet不可以单独运行,Applet支持多线程。 
  39.B。【解析】在JavaApplet的生命周期中,共有4种状态,即4种方法:init()、start()、stop()和destory()。在Applet装载时,调用init()通知该Applet已被加载到浏览器中,使Applet执行一些基本初始化操作。 
  40.D。【解析】param中name属性值不可重复,value是绝对路径。必须都用引号引用起来。

  二、基本操作题 
  第1处:charcl,c2 
  第2处:cl==c2 
  第3处:strl.equals(str2) 
  【解析】第1处声明两个字符型变量cl和c2;第2处表示当cl等于c2时if条件为真;第3处判断strl和str2是否相等,返回值是布尔类型true或false。 
  三、简单应用题 
  第1处:publicvoidinit 
  第2处:frame.show() 
  【解析】第1处是定义一个公有的初始化函数;第2处显示frame窗口。 
  四、综合应用题 
  第1处:upper.setLayout(newBorderLayout()) 
  第2处:classButtonListenerimplementsActionListener 
  第3处:this.c=c 
  【解析】第一处令面板upper采用BorderLayout布局。第二处是要求类ButtonListener实HActionListener接口,达到通过按钮改变字体颜色的目的。第三处是设置按钮前圆形的颜色。

 

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载