admin 管理员组

文章数量: 887042


2024年1月10日发(作者:nginx改端口号)

计算机二级JAVA-13

(总分84.8, 做题时间90分钟)

一、选择题

1.

用于输入压缩文件格式的ZiplnputStream类所属包是 。

**

**

**

**

A B C D

该问题分值: 3

答案:D

[解析] 本题考查ZipInputStream类的基本概念。压缩文件输入流都是InflateInputStream的子类,是以字节压缩为特征的过滤流。主要有三类:GZiplnputStream类在包中,该类用于输入以gizp格式进行压缩的文件,是对输入文件类型的一种过滤;ZiplnputStream类也在包中,用于输入zip格式的文件。这是对于文件类新格式的一种过滤;JarInputStream类在包中,是ZipInputStream的子类,用于输入jar文件。

2.

下列操作中,不属于Applet安全限制的是 。

A.加载本地库

B.读写本地文件系统

C.运行本地可执行程序

D.与同一个页面中的Applet通信

SSS_SIMPLE_SIN

A B C D

该问题分值: 3

答案:D

[解析] 本题考查Applet的安全限制。为了保护本地主机,很多浏览器对Applet做了安全限制:Applet不能运行任何本地可运行程序;禁止加载本地库或方法;禁止读、写本地计算机的文件系统;禁止向提供Applet之外的任何主机建立网络连接;不能读取某些系统信息,除了Java版本号、操作系统名或版本号、文件分隔符、路径分隔符及行分隔符外,不能获得其他系统信息。但Applet是可以与同一个页面中的Applet进行通信的,所以选项D不属于Applet安全限制。

3.

javax. swing. Japplet的父类是 。

SSS_SIMPLE_SIN

A. java. awt. panel

B. java. applet. Applet

C. java. awt. frame

D. java. awt. Window

A B C D

该问题分值: 2

答案:B

[解析] javax. swing. Japplet是Applet的直接子类,继承了Applet的方法与执行机制。 java. awt. panel是java. applet. Applet的直接父类,java. awt. Window是java. awt. frame的直接父类。

4.

执行下面程序后输出的正确结果是

public class Test{

public stoic void main (String args[]){

byte x=3, y=4;

long r=80L;

(r/y);

(",");

(x/y);

}

}

A. 20.0, 1

B. 20.0, 1.0

C. 20,0

D. 20, 1.0

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:C

[解析] 本题考查Java语言的二元运算符的使用。Java中的二元运算符适用于所有数值型数据类型,包括整型和浮点型。但考生需要注意,如果两个操作数全为整型,那么,只要其中一个为long型,则表达式结果为long型:其他情况下,即使两个操作数全是byte或short型,表达式结果也是int型;如果操作数为浮点型,那么只要其中一个为double型,表达式结果就是double型;只有两个操作数全是float型或其中一个是float型而另外一个是整型时,表达式结果是float型。所以选项C为正确答案。考生如果理解了L的含义,就能很容易回答。考生务必注意操作数类型不同时,运算结果的类型,同时注意当“/”和“%”运算中除数为。时会产生异常。

5.

SSS_SIMPLE_SIN

阅读下面的程序段:

public class Sun

{

public static void main(String args[ ])

{

int a=0

for(int i=1;i<=3;i++)

{

for(int j=1;j<-i;j++)

{

for(int k=j;k<=3;k++)

{

a=a+1;

}

}

}

n(A) 我;

}

}

执行上面的3重循环后,a的值为 。

A. 3

B. 9

C. 14

D. 21

A B C D

该问题分值: 2

答案:C

[解析] 本题考查对for循环嵌套的理解。本题应用3重嵌套循环,循环嵌套的执行,当外层循环执行1次,内层循环就要执行所有循环。 i=1时,j=1,k执行3次循环得到a的值3;i=2, j=1时,k执行3次循环得到a的值加3并覆盖原值,j=2时,k执行两次循环,a的值加2;依次,i=3时,i执行3次。其中,分别执行3、 2、1次,a的值分别加3、2、1,最后得到a的值14。故本题答案是C。

6.

当输入一个字节流时,要______。

A.实现Datalnput接口

B.实现Serializable接口

C.实现Objectlnput接口

D.继承Reader抽象类

SSS_SIMPLE_SIN

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:A

7.

算法的时间复杂度是指 。

A. 执行算法程序所需要的时间

B. 算法程序的长度

C. 算法执行过程中所需要的基本运算次数

D. 算法程序中的指令条数

A B C D

该问题分值: 1

答案:C

[解析] 本题考查算法的时间复杂度,这个知识点是本章的重点考点之一,考生应该好好理解掌握。算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本运算的次数,而不是指程序运行需要的时间或是程序的长度。

8.

对象状态的持久是通过 实现的。

A. 管道

B. 过滤器

C. 文件

D. 串行化

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

[解析] 将Java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串形格式表示出来,以便以后读该对象时能够把它重构出来。因此对Java对象读、写的过程被称为对象串行化。

9.

在OutputStream类的常用方法中 是清空输出流的方法。

**()

**()

**(int b)

SSS_SIMPLE_SIN**(byte b[])

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:A

10.

Applet不能继承以下哪个类的方法?

A. Component类

B. Container类

C. Panel类

D. Window类

A B C D

该问题分值: 1

答案:D

[解析] Applet是Panel的直接子类,而 Panel的直接父类是Container,Container的父类是Component,因此可以继承这3个类的方法。

11.

下列操作中,不属于Applet安全限制的是

A. 加载本地库

B. 读写本地文件系统

C. 运行本地可执行程序

D. 与同一个页面中的Applet通信

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:D

为了保护本地主机,对Applet做了如下安全限制:Applet不能运行任何本地可运行程序,禁止加载本地库或方法,禁止读、写本地计算机的文件系统,禁止向提供Applet之外的任何主机建立网络连接,不能读取某些系统信息。

12.

下列程序的功能是在监控台上每隔一秒钟显示一个字符串“你好!”,能够填写在程序中画线位置,使程序完整并能正确运行的语句是

public class Exam implements Runnable{

public static void main(String args[]){

Exam t=new Exam();

Thread tt=new Thread(t);

tt.start();

}

public void run(){

SSS_SIMPLE_SIN

for(;;){

try{

;

}catch(e){}

n("你好!");

}

}

}

A. sleep(1) RuntimeException

B. (1000) InterruptedException

C. (1) InterruptedException

D. (1000) InterruptedException

A B C D

该问题分值: 2

答案:D

[解析] 本题考查Java中的线程和异常处理。题目首先通过实现Runnable接口创建线程,Test t=new Test()语句定义了Test的 1个实例,Thread tt=new

Thread(t)定义了1个名为n的线程,()语句启动线程。通过try-catch语句来处理异常。try代码包括一些简单语句或方法调用,遇到异常情况时,停止执行而转跳到相应处理异常的程序,然后由catch来控制。题目要求每间隔1s输出,间隔使用Thread.sleep(1000)语句来实现,调用InterruptedException来完成。 RuntimeException类包含有较多子类,比如算术异常ArithmeticException,当除法分母为0等时使用;索引越界异常IndexOutOfBoundsException等。

13.

在文件类提供的方法中,用于创建目录的方法是 。

**()

**()

**()

SSS_SIMPLE_SIN**()

A B C D

该问题分值: 2

答案:A

[解析] 本题考查文件类提供的方法。mkdir()是为目录操作提供的方法,用来创建目录;mkdirs()也是为目录操作提供的方法,创建包含父目录的目录;list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表;listRoots是为目录提供的方法,返回根目录结构。由此可见,只有选项A满足题目要求。

SSS_SIMPLE_SIN

14.

Java为移动设备提供的平台是 。

**

**

**

**

A B C D

该问题分值: 2

答案:A

[解析] Java2平台包括:J2ME平台、J2SE平台和J2EE平台。其中:J2ME是为嵌入式和移动设备提供的Java平台;J2SE是面向企业级应用与服务的综合性标准开发平台;J2EE是面向大型企业级用容器管理专用构件的应用平台。而JDK5.0是一个Java开发软件包。

15.

若在一个类中对它同名构造函数进行了重载;它们之间的调用是通过关键字

______ 来实现的。

**

**

**

SSS_SIMPLE_SIN**

A B C D

该问题分值: 1

答案:A

16.

下面程序段的输出结果是

class Test{

public static void main(String args[]){

MyThread t=new MyThread();

yOutput("t has been createD) ";

();

}

}

class MyThread extends Thread{

public void displayOutput(String s){

n(s);

}

public void nm(){

SSS_SIMPLE_SIN

displayOutput("t is running. ");

}

A.

B.

C.

D.

t has been created. t is running.

t has been created.

t is running.

编译出错

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:A

[解析] 本题考查线程的创建和调用。创建一个新的线程对象后,通过使用start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是nm()方法,使得线程可以进入运行状态。 ,程序运行时首先创建一个新的线程对象t,井调用displayOutput(Strings)方法输出thas been created. ()方法调用run()方法,输出tis running,所以正确答案为选项A。

17.

设A为已定义的类名,则下列声明A类的对象a的语句中正确的是______。

A.public A a=new A() B.public A a=A()

C.A a=new class();D.a A;

A B C D

该问题分值: 2

答案:A

[解析] 对象的生成包括声明、实例化和初始化3个方面的内容,一般格式是先定义一个对象变量,再用关键字new生成一个对象,并为该对象变量赋值。

18.

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

A. 可行性分析报告

B. 软件需求规格说明书

C. 概要设计说明书

D. 集成测试计划

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:B

[解析] 需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等4方面。产生的主要文档为软件需求规格说明书,可以为用SSS_SIMPLE_SIN

户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

19.

下列关于Java语言的数据类型和表达式的说法不正确的是

A. Java中允许用0和1来代替true和false

B. 位运算符中,~的优先级最高,其次是<>和> > >

C. 最简单的表达式是一个常量或一个变量,该表达式的值就是该常量或变量的值

D. 条件运算符是一个怂惴?

A B C D

该问题分值: 1

答案:A

[解析] 考查运算符和表达式的基本知识。

【解题要点】Java中不允许用0和1来代替true和false。

【错解分析】true和false是布尔型,而0是整数类型,它们在计算机中存储的位数就不同,所以Java语言规定,这两个类型不能随便代替。

【考点链接】位运算符中,~的优先级最高,其次是< >和> > >,在这里,没有

< < <的原因是用< <可以代替< < <,其实这两个运算符实现的功能是完全一样的。这里我们只要知道逻辑移位不同于算术移位就完全可以了。

20.

下列程序是死循环的是

**(;;);

** s=36; while(S)--S;

** m=10; do { m- - }while(m>0);

SSS_SIMPLE_SIN** n=5; while(n>1) { n- -; if(n

A B C D

该问题分值: 1

答案:A

解析:在for语句中省略中间的判断表达,并且后面只有一个分号,所以是循环。

21.

关系数据库管理系统应实现的专门的关系运算包括______。

A. 排序、索引、统计

B. 选择、投影、连接

SSS_SIMPLE_SIN

C. 关联、更新、排序

D. 显示、打印、制表

A B C D

该问题分值: 2

答案:B

[解析] 关系数据库建立在关系数据模型的基础上,具有严格的数学理论基础。关系数据库对数据的操作除了集合代数的并、交、差等运算之外,还定义了一组专门的关系运算:选择、连接和投影。关系运算的特点是参与运算的对象都是表。

22.

下列关于J2SE体系结构的说法中错误的一项是______。

A.该体系结构的最上层是由开发工具构成的

B.该体系结构的最低层是操作系统,包括Linux和Windows等

C.基本类库包括核心APIs、集成AIPs和AWT/Swing和JDBC等

D.多媒体支持基本软件中包括声音、图形和图像等

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

23.

以下各项说法中错误的是 。

A. 可串行化的类必须实现Serializable接口

B. 可串行化的类中的静态变量可以不被串行化

C. private数据访问权限能够限制数据不被串行化

D. 对象串行化使用Java语言提供的默认机制

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

[解析] 一般的数据访问权限,如public、 protected、package或private等,对数据的串行化没有影响。只有static和transient关键字修饰的数据才可以不被串行化。

24.

设计程序时,应采纳的原则之一是______。

A.程序的结构应有助于读者的理解

B.不限制goto语句的使用

C.减少或取消注释行

SSS_SIMPLE_SIN

D.程序越短越好

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:A

[解析] 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用goto语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,程序的长短要依据实际的需要而定,并不是越短越好。

25.

下面的 关键字通常用来对对象加锁,从而使得对对象的访问是排他的。

**

**

**

**

A B C D

该问题分值: 2

答案:C

[解析] 本题考查Java中对象加锁的概念。Java是多线程的语言,多个线程可以"同时"访问同一数据区,而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。

26.

下面关于串行化的说法中正确的是 。

Ⅰ:对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。

Ⅱ:通过让类实现izable接口可以将类串行化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。

Ⅲ:将对象读出或者写入流的主要类有两个:ObjectOutputStream与ObjectInputStream。

Ⅳ:以上都不对。

A. Ⅱ、Ⅲ

B. Ⅱ、Ⅳ

C. Ⅰ、Ⅱ、Ⅲ

D. Ⅲ、Ⅳ

SSS_SIMPLE_SIN

A B C

该问题分值: 1

SSS_SIMPLE_SIND

答案:C

[解析] 本题是考查串行化的概念。对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态,对使用套接字在网络上传送对象的程序来说,是很有用的。通过让类实现

izable接口可以将类串行化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。它主要用来通知Java虚拟机(JVM),将一个对象串行化。ObjectOutputStream提供用来将对象写入输出流的writeObject方法, ObiectInputStream提供从输入流中读出对象的 readObject方法。

27.

耦合性和内聚性是对模块独立性度量的两个标准,下列叙述中正确的是 。

A.提高耦合性降低内聚性有利于提高模块的独立性

B.降低耦合性提高内聚性有利于提高模块的独立性

C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度

D.内聚性是指模块间互相连接的紧密程度

A B C D

该问题分值: 2

答案:B

[解析] 耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素间彼此之间接合的紧密程序。高内聚、低耦合有利于模块的独立性。

28.

下列整型常量中表示的是十六进制的整数

A. 0098

B. 67x

C. x394

D. 0X292

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:D

解析:对整型常量的三种格式:十进制,八进制和十六进制。其中.十进制就是平常我们书写的格式,象456,-34;八进制整数要以0开头,如035:十六进制必须以Ox或OX开头,如0×123表示的十进制数是291。整型数据分为整型常量和整型变量,整型常量占内存32位,整型变量根据具体的变量形式而在内存中所占的位数也不一样

29.

软件详细设计主要采用的方法是 。

SSS_SIMPLE_SIN

A.模块设计

B.结构化设计

**语言

D.结构化程序设计

A B C D

该问题分值: 2

答案:D

30.

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

**

**

**

SSS_SIMPLE_SIN**

A B C D

该问题分值: 1.8

答案:D

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

31.

下列方法中可以用来创建一个新线程的是

A. 实现java.lang.Runnable接口并重写start()方法

B. 实现java.lang.Runnable接口并重写run()方法

C. 继承java.lang.Thread类并重写alu()方法

D. 实现java.lang.Thread类并实现start()方法

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

[解析] 创建线程有两种方法:通过实现Runnable接口创建线程和通过继承

Thread类创建线程。通过实现Runnable接口创建线程,当实现Runnable接口的类的对象用来创建线程以后,该线程的启动将使得对象的run()方法被调用。通过继承Thread类创建线程,可以通过继承 Thread类,并重写其中的run()方法定义线程体,然后创建该子类的对象创建线程。线程创建是重点内容,务必掌握。

32.

SSS_SIMPLE_SIN

下列常见的系统定义的异常中, 是输入、输出异常。

**

**

**

**

A B C D

该问题分值: 1

答案:B

33.

下列关于内部类的说法中不正确的是 。

A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用

B.内部类可以使用它所在类的静态成员变量和实例成员变量

C.内部类不可以用abstract 修饰符定义为抽象类

D.内部类可作为其他类的成员,而且可访问它所在类的成员

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:C

34.

对排序文件的初始状态不作任何要求的排序方法有 。

A. 直接插入和快速排序

B. 直接插入和归并排序

C. 归并和快速排序

D. 归并和直接选择排序

SSS_SIMPLE_SIN

A B C D

该问题分值: 1

答案:A

[解析] 只有归并排序要求待排序文件“部分排序”(把待排序的文件分成若干个子文件,每个子文件内的记录是已排序的)。

35.

下列特点中不属于Java的是______。

A. 多线程

B. 多继承

C. 跨平台

SSS_SIMPLE_SIN

D. 动态性

SSS_SIMPLE_SIN

A B C D

该问题分值: 2

答案:B

解析:Java的基本特点有简单易学、面向对象、分布式计算、稳健性、安全性、跨平台和可移植性、解释执行、高效性、多线程、动态性等,因此答案B不是Java的特点,符合题意。

二、填空题

36.

break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的______开始执行。

SSS_FILL

该问题分值: 2

答案:第一条语句

[解析] 本题考查考生对Java分支语句和跳转语句的理解。分支语句提供了一种控制结构,根据条件值的结果选择执行不同的语句序列,其他与条件值或表达式值不匹配的语句序列则被跳过不执行。Java语言提供了多分支语句switch,它根据表达式的值从多个分支中选择一个执行。break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的第一条语句开始执行。在Java中还可以用break语句退出循环,并从紧跟该循环结构的第一条语句处开始执行。

37.

当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为______。

SSS_FILL

该问题分值: 1

答案:上溢

38.

在Java新的I/O功能中,通过文件锁定来实现多个线程的 ,避免了可能存在的安全隐患。

SSS_FILL

该问题分值: 1

答案:访问同步

[解析] 当一个线程在访问一个文件时,该文件被锁定,不允许其他线程访问,这样实现了同步访问。

39.

Java中的字符输出流都是抽象类_____________的子类。

SSS_FILL 该问题分值: 1

答案:外部命令

40.

在Java中,字符是作为______码来处理的。

SSS_FILL

该问题分值: 2

答案:Unicode

[解析] 在Java中,字符是以16位 Unicode码的形式表示的。

41.

设有数组定义:int MyIntArray[]={10,20,30,40,50,60,70};

则执行下面几个语句后的输出结果是 。

int s=0;

for(int i=0; i<My ;i++)

s+=MyIntArray[i];

n(s);

SSS_FILL

该问题分值: 2

答案:280

42.

在AWT包中,创建一个具有10行、45列的多行文本区域对象ta的语句为 。

SSS_FILL

该问题分值: 2

答案:TextArea ta=new TextArea(10,45);

[解析] 要创建一个多行文本框用到的关键字是TextArea。所以应该表示为:TextArea= new TextArea(10,45);。

43.

当浏览器能够解释<APPLET>标记但不能运行Applet时,将显示 标记中的内容。

SSS_FILL

该问题分值: 2

答案:<ALT>

[解析] <ALT>标记中的内容是除了<PARAM>之外的任何HTML文本,当浏览器不能运行Applet时,就会显示该标记中的内容。

44.

接口是一种只含有抽象方法或 的一种特殊抽象类。

SSS_FILL 该问题分值: 2

答案:常量

[解析] Java中的接口是一系列方法或常量的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

45.

抽象窗口工具包 提供用于所有Java applets及应用程序中的基本GUI组件。

SSS_FILL

该问题分值: 2

答案:AWT(Abstract Window Toolkit)

[解析] Java的抽象窗口工具包(AWT)包含了用于GUI编程的一整套类集。

46.

算法的复杂度主要包括 上复杂度和空间复杂度。

SSS_FILL

该问题分值: 2

答案:时间

47.

在面向对象的程序设计中,类描述的是具有相似性质的一组_________。

SSS_FILL

该问题分值: 1

答案:对象

48.

每个Applet程序必须有一个类是 类的子类。

SSS_FILL

该问题分值: 2

答案:Applet

[解析] 本题考查Applet的概念。Applet是考试重点内容,涉及知识点较多,注意全面复习。生成Applet必须创建Applet类的子类, Applet的行为框架由Applet来决定。所以每个 Applet程序必须有一个类是Applet类的子类。

49.

当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 。

SSS_FILL

该问题分值: 1

答案:【5】物理独立性

解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影 响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。

50.

某二叉树中度为2的结点有18个,则该二叉树中有________个叶子结点。

SSS_FILL

该问题分值: 2

答案:19

[解析] 在任意一棵二叉树中,度为0的结点,总比度为2的结点多一个,因此该二叉树中叶子结点为18+1=19。

1


本文标签: 对象 方法 语句 程序 线程