计算机二级全真模拟试题及答案
21.A。解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。
22.C。解析:本题考查线程的基本控制。Thread类提供的基本线程控制方法包括:sleep()——使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()——使具有与当前线程相同优先级的线程有运行的机会;join()——使当前线‘程暂停执行,等待调用该方法的线程结束后,再恢复执行;interrupt()——中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。
23.C。解析:do while语句和for语句是循环语句;it语句和switch语句是分支语句。而if语句称为条件语句, switch语句称为多分支语句。
24.D。解析:本题考查switch语句的用法。switch语句是多分支语句,即根据表达式的值来执行多个操作中的一个。在switch语句中,”表达式”的返回值类型必须是这几种类型
之一:int、byte、char、short。本题中,switch的表达式s是一个字符串Strin9类型的值,它不是int、byte、char、short中的任意一个。因此表达式s的类型不对,编译时出错。
25.A。解析:FileReader、BufferedReader是字符类输入流。FileInputStream是字节输入流。对象串行化时,需要使用ObjectlnputStream类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流FileReader或BufferedReader。但是FileReader的参数是读入的文件,而BufferedReader的参数是FileReader流的一个对象。因此,本题的正确答案是A。
26.C。解析:在java.i0包中,接口Serializable是实现对象串行化的工具。实际上,Serializable接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。Serializable接口的目的只是简单地标识一个类的对象是可以被串行化的。
27.B。解析:本题考查线程的创建。在Java中,创建线程有两种方法:①通过实现Runnable接口创建线程。Runnable接口中只定义了一个run()方法作为线程体。②通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start()方法才能运行。本题中HolloWorld类实现了Runnable接口。
28.D。解析:Java.io包中的类可以处理不同类型的流,比如字节流、字符流、对象流、非流类等。File类就是一个重要的非流类,它是以一种系统无关的方式表示一个文件对象的属性。
29.D。解析:Java平台为了防范恶意程序的攻击,保护本地主机,对Applet作了如下安全限制:①Applet不能运行任何本地可执行程序。②禁止加载本地库或方法。③禁止读、写本地计算机的文件系统。④禁止向提供Applet之外的任何主机建立网络连接。⑤不能读取某些系统信息。⑥由一个Applet弹出的窗口外观上与一个Application弹出的窗口不同,Applet弹出的窗口中会有警告提示信息,帮助用户区分Applet窗口与可信的Application窗口。
30.B。解析:本题对StringBuffer(String str)构造方法,用str给出字符串的初始值,并分配16个字符的缓存。因此,字符串sb的初始值是”test”,并且包含l6个字符的缓存。length()方法用来获得字符串长度,不包含缓存。故程序运行结果中在”length=”后输出的值应该是字符串sb的长度,即4。
31.A。解析:本题考查Applet的基本知识。Applel类定义了小应用程序(Applet)与其运行环境之间的一个接口;JApplet是Applet类的扩展,它继承了Applet的方法和执行机制,同时也增加了对Swing构件的支持。每个Jaw小应用程序都必须是Applet类或JApplet类的子类。因此,本题的正确答案是A。
32.C。解析:继承是允许将一个类定义为一个更通用类的特例。特殊类称为子类,通用类称为父类。除了订单类的属性外,特快订单类可能还有其他一些特殊属性。显然,订单类是通用类,即父类;而特快订单类是定单类的一个特例,是子类。订单类和特快订单类是继承关系。
33.C。解析:本题考查Applet的安全限制。许多浏览器为了保护本地主机,一般情况下,对Applet作了如下安全限制:Applet不能运行任何本地可执行程序;禁止Applet读、写本地计算机的文件系统;禁止加载本地库或方法。Applet只能使用自身的代码或Applet浏览器提供的JavaAPl;禁止向提供Applet之外的任何主机建立网络连接;不能读取某些系统信息。除了Java版本号、操作系统名等一些简单信息外,Applet不能获得与本地计算机有关的任何信息。根据上述介绍可知,Applet只能读取有限的系统信息,但不是一点儿都不能读取。因此,本题的正确答案是C。
34.A。解析:本题考查Swing的容器面板。在Swing的容器面板中:选项板(JTabbedPane)提供一组可供用户选择的带有标签或图标的选项,每个选项下面都可以显示一个构件;Swing提供两种分层面板:JLayeredPane和JDesktopPane。JDesktopPane是JLayeredPane的子类,专门为容纳内部框架(JInternalFrame)而设计;滚动窗口(JScrollPane)是带滚动条的面板,主要是通过移动JViewport(视口)来实现的;分隔板(JSplitPane)用于分隔两个构件,这两个构件可以按照水平方向分隔,也可以按照垂直方向分隔。根据上述介绍可知,Swing中的选项面板是JTabbedPane。因此,本题的正确答案是A。
35.B。解析:AppletContext类是一个接口类,Applet通过AppletContext接口与环境进行通信。可以利用这个类从Applet环境获取信息,而这个环境一般是指浏览器。Applet使用AppletContext类的showDocument()方法可以通知浏览器在指定窗口中显示另一个URL的内容。因此,本题的正确答案是B。
36.D。解析:本题考查线程的创建。Java语言中提供两种创建线程的方法,一种是通过实现Runnable接口来创建线程,另一种是通过继承Thread类创建线程。显然,题目中的程序是使用第二种方法来创建线程。Thread类中定义了run()方法,所以通过继承Thread类来创建线程时还要重写Thread类中的run()方法。而run()方法的定义如下: