第 1 页:试题 |
第 2 页:参考答案 |
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两条信息。整个程序并未发生异常。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: