2024年5月6日发(作者:)

一、选择题:

1. 运行Java程序需要的工具软件所在的目录是 A 。

A.JDK的bin目录 B.JDK的demo目录

C.JDK的lib目录 D.JDK的jre目录

解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译

器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java

库文件jre目录,该目录是Java程序运行环境的根目录,它下面包含 bin子目录,包括平

台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;

include目录,该目录包含Win32子目录,都是本地方法的文件。因此,本题的正确答案是

A。

2. 下列关于Java语言特点的叙述中,错误的是

A

A.Java是面向过程的编程语言 B.Java支持分布式计算

C.Java是跨平台的编程语言 D.Java支持多线程

解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术:分布

式计算:健壮性(鲁棒性);安全性;跨平台(即体系结构中立):可移植性:解释执行;高性

能;多线程;动态性。因此,本题的正确答案是A。

3. Java的核心包中,提供编程应用的基本类的包是 A 。

A. B. C. D.

解析:Java的核心包一共有12个,其中:包中封装了所有编程应用的基本

类;包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等

常用工具;包为Applet提供执行需要的所有类,。主要是访问Applet内容的

通信类。包提供程序远程方法调用所需的类。因此,本题的正确答案是A。

4. 下列关于Java对import语句规定的叙述中,错误的是 C 。

A.在Java程序中import语句可以有多个

B.在Java程序中import语句可以没有

C.在Java程序中import语句必须有一个

D.在Java程序中import语句引入在所有类定义之前

解析:Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可

以有0个或多个import语句,但是必须在所有类定义之前引入标准类。因此,本题中选项

C的说法是错误的。

5. 在编译Java程序时,用于指定生成.class文件位置的选项是 B 。

A.-g B.-d C.-verbose D.-vonarn

解析:是Java编译器,能将源程序代码编译成字节码,以.class扩展名存

入Java工作目录中。它的命令格式为:javac[选项]文件名。其中[选项]包括几下几个:

●-g 输出文件中加行号以及局部变量信息,为调试程序时用。

●-o 对类文件进行优化编译。

●-nowarn 关闭警告信息,只显示错误信息。

●-verbose 显示源代码文件和字节码文件的相关信息。

●-d<目录> 指定存放生成的类(.class)文件的位置

根据上述介绍可知,在编译Java程序时,可以通过选项-d来指定生成的.class文件的位

置。因此,本题的正确答案是B。

6. 下列关于构造方法的叙述中,错误的是 C 。

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

解析:本题考查的是构造方法的使用。Java浯言中,构造方法是一种特殊的方法,是

为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方

法,它也是由方法名、参数和方法体组成的。构造方法有如下特点:

●构造方法的名字必须与类名相同。

●构造方法不返回任何数据,但不用void来声明。

●用户不能直接调用构造方法,必须通过关键字new自动调用。

●构造方法可由用户在类中定义,默认时由Java语言自动生成。但它是个空方法,变量

被赋予该数据类型的默认值。

●在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是

使类具有不同的初始值,为类对象的初始化提供方便。

根据上述构造方法的特点可知,本题选项C的说法是错误的

7. 下列叙述中错误的是 D 。

A.Java Application与Applet所用编译命令相同

B.通常情况下,Java Application只能有一个main()方法

C.Java Applet必须有HTML文件才能运行

D.Java Applet程序的.class文件可用Java命令运行

解析:本题考查的是Java中的Applet以及Applt与Application的区别。选项A,

Applet的运行方式和Java Application不同,但是Applet在运行前也必须被编译为类文

件,这点和Application是一样的。因此,它们都用javac进行编译。因此,选项A的说法

是正确的。选项B,在每个应用程序Application中可以包含多个方法,但应用程序都是以

main()方法为入口点执行,因此必须有且只能有一个main方法。故选项B的说法是正确的。

选项C,Applet是能够嵌入HTML语言中,并能够在浏览器中运行的类。Applet的运行环境

是Web浏览器,所以必须建立HTML文件,告诉浏览器如何加载与运行Applet。所以,选项

C的说法是正确的。选项D,根据选项C的分析,Applet是不能直接通过Java命令行启动

运行的。因此,选项D的说法是错误的。

8. 处理对象传输的接口是 A 。

A.Serializable B.Cloneable C.ItenListener D.ActionListener

解析:处理对象传输就是把对象串行化。Java语言中,如果要串行化某些类的对象,

这些类就必须实现Serializable接口。因此,本题的正确答案是A。

9. 在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是 C 。

A.InputStream B.FileInputStream C.BufferedInputStream D.BufferedReader

解析:本题考查Java语言的输入/输出流。选项A的InputStream类、选项B、的

FilelnputStream类、选项D的BufferedReader类都是Java语言中和输入输出直接相关的

类,不属于辅助类,因此可以直接判断出选项C为正确答案。

另一方面,我们也可以详细分析每个选项。题目中要求读取二进制数据文件的记录,因此

要使用字符输入流。选项A的InputStream是.包中的抽象类,是所有字节输入流

的父类。题目要求的是字符输入流,显然,选项A不对。选项B的 FileInputStream是一

个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项A一样,选项B是错的。

选项C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符

的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增的字符,这

提高了读取的效率。所以,StringBuffer是一个可以提高读取文件效率的辅助类。故选项C

2