java复习题带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题:
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.ng B.java.util C.java.applet D.java.rmi
解析:Java的核心包一共有12个,其中:ng包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为Applet提供执行需要的所有类,。主要是访问Applet内容的通信类。java.rmi包提供程序远程方法调用所需的类。因此,本题的正确答案是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
解析:javac.exe是Java编译器,能将源程序代码编译成字节码,以.class扩展名存入Java工作目录中。它的命令格式为:javac[选项]文件名。其中[选项]包括几下几个:●-g 输出文件中加行号以及局部变量信息,为调试程序时用。
●-o 对类文件进行优化编译。
●-nowarn 关闭警告信息,只显示错误信息。
●-verbose 显示源代码文件和字节码文件的相关信息。
●-d<目录>指定存放生成的类(.class)文件的位置
根据上述介绍可知,在编译Java程序时,可以通过选项-d来指定生成的.class文件的位置。因此,本题的正确答案是B。
6.下列关于构造方法的叙述中,错误的是C。
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是.java.io包中的抽象类,是所有字节输入流的父类。题目要求的是字符输入流,显然,选项A不对。选项B的 FileInputStream是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项A一样,选项B是错的。选项C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增的字符,这提高了读取的效率。所以,StringBuffer是一个可以提高读取文件效率的辅助类。故选项C