当前位置:首页 > Java语言程序设计
2014年计算机二级JAVA考试专家预测试卷及答案17
21.已知zipname是一个压缩文件名。则zipname在下列代码中出现的正确位置是( )。
ZipInputStream zin=
new ZipInputStzeam(new FileInputStream(①));
ZipEntry entry ;
while((entry=zin.getNextEntry(②))!=null){
fileCombo.addltem(entry.getNamc(③));
zin.closeEntry(④);
}
zin.close();
A.①
B.②
C.③
D.④
22.下列代码的执行结果是( )。
int numbers[]=new int[6];
for(int i=1;i
Systern.OUt.print(numbers[I]+"");
A.0 1 2 3 4 5
B.1 2 3 4 5 6
C.0 1 2 3 4
D.1 2 3 4 5
23.Java API ee支持线程的类或接口是( )。
Ⅰ.java.lang.Thread
Ⅱ.java.lang.Runnable
Ⅲ.java.lang.ThreadGroup
IV.java.io.Serializable
A.I,Ⅱ B.I,Ⅱ,Ⅲ
C.I,Ⅱ,IV D.I,Ⅱ,Ⅲ,Ⅳ
24.下列关于Test类的定义中,正确的是( )。
A.class Test implements Runnable{
public void run(){}
Dublic void someMethod[]{}
}
B.class Test implements Runnable(
puIblic void run();
}
C.class Test implements Runnable(
Dublic void someMethod[];
}
D.class Test implements Runnable(
public void someMethod(){}
}
25.下列方法被调用后,一定使调用线程改变当前状态的是( )。
A.notify()
B.yield()
C.sleep()
D.isAlive()
26.在堆栈类Sharedstack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下画线处填入的修饰符是(两个下画线的填写内容相同)( )。
public class SharedStack{
int idx=0;
char[]data=new char[10];
public synchtonized void push(char c){……}
publR,synchronized void pop(){……}
}
A.Dublic
B.不使用修饰符
C.private
D.protected
27.关于下列代码编译或执行结果的描述中,正确的是( )。
public class Test{
public static void main(String argsE]){
TcstThread pml=new TestThread("One")
pml.start();
TestThread pm2=new TestThread("Tw0")
pm2.start();
}
}
class TestThread extends Thread(
private String sTname="";
TestThread(String s){
sTname=s;
}
public void run(){
for(int i=O;i<2;i++){
try{
sleep(1000);
}catch(InterruptedException e){}
system.out.print(sTname+"");
}
}
}
A.不能通过编译,TestThread类中不能定义变量和构造方法
B.输出One One Two Two
C.输出Two One One Two
D.选项B或C都有可能出现
28.下列关于Applet的叙述中,正确的是( )。
A.为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类
B.Applet不能从外部接收参数
C.Applet不能使用javac命令进行编译
D.Java Application与Applet都必须包含main()方法
29.下列代码的下画线处应填入的方法名是( )。
import java.awt.*;
import java.applet.*;
public class Hello extends Applet{
public void (Graphics g){
9.drawstring("How are you!",l0,10);
}
}
A.repaint B.println
C.paint D.show
30.下列变量的定义中,错误的是( )。
A.int X=3;
B.float f;d;
C.String s="Hell0";
D.boolean b=true;
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。【解析】正确的方法是float f,d;,中间应该使用“,”而不是“;”,因为在Java中“;”表示一个语句结束。