java期末复习题.docx
- 文档编号:29547409
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:32
- 大小:46.15KB
java期末复习题.docx
《java期末复习题.docx》由会员分享,可在线阅读,更多相关《java期末复习题.docx(32页珍藏版)》请在冰豆网上搜索。
java期末复习题
一、选择题:
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.java.langB.java.utilC.java.appletD.java.rmi
解析:
Java的核心包一共有12个,其中:
java.lang包中封装了所有编程应用的基本类;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.-gB.-dC.-verboseD.-vonarn
解析:
javac.exe是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.JavaApplication与Applet所用编译命令相同
B.通常情况下,JavaApplication只能有一个main()方法
C.JavaApplet必须有HTML文件才能运行
D.JavaApplet程序的.class文件可用Java命令运行
解析:
本题考查的是Java中的Applet以及Applt与Application的区别。
选项A,Applet的运行方式和JavaApplication不同,但是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.SerializableB.CloneableC.ItenListenerD.ActionListener
解析:
处理对象传输就是把对象串行化。
Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口。
因此,本题的正确答案是A。
9.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是C。
A.InputStreamB.FileInputStreamC.BufferedInputStreamD.BufferedReader
解析:
本题考查Java语言的输入/输出流。
选项A的InputStream类、选项B、的FilelnputStream类、选项D的BufferedReader类都是Java语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C为正确答案。
另一方面,我们也可以详细分析每个选项。
题目中要求读取二进制数据文件的记录,因此要使用字符输入流。
选项A的InputStream是.java.io包中的抽象类,是所有字节输入流的父类。
题目要求的是字符输入流,显然,选项A不对。
选项B的FileInputStream是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。
和选项A一样,选项B是错的。
选项C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增的字符,这提高了读取的效率。
所以,StringBuffer是一个可以提高读取文件效率的辅助类。
故选项C是正确答案。
选项D的BufferedReader虽然是一个字符输入流,用于从字符输入流中读取文本并将字符存入缓冲区。
但是,BufferedReader直接用于文件的读取,不起辅助作用。
所以,选项D是错误的。
10.下列事件监听器中,无法对TextField对象进行事件监听和处理的是D。
A.ActionListenerB.FocusListenerC.MouseMotionListenerD.ChangeListen
解析:
本题考查AWT事件处理。
事件就是发生在用户界面上的用户交互行为所产生的一种效果。
每类事件都有对应的事件监听器,监听器就是接口。
在单行文本输入区(TextFielD)构件上可能发生的事件包括:
FocusEvent焦点事件,焦点的获得和丢失。
这类事件所对应的事件监听器是FocusListener:
ActionEvent动作事件,按钮按下,TextField中按Enter键。
这类事件所对应的事件监听器是ActionListener;MouseEvent鼠标事件,鼠标单击、释放、拖动、移动。
这类事件所对应的事件监听器是MousetMofionListener。
当然还包括其他一些,但是在所有事件及其所对应的事件监听器中,不包括ChangeListener这样一个事件监听器。
因此,本题的正确答案是D。
11.有一段java应用程序,它的主类名是Abc,那么保存它的源文件名可以是C。
A.abc.javaB.Abc.classC.Abc.javaD.以上都可以
12.每个Java小应用程序必须定义为A。
A.Applet类或JApplet类的子类B.JFrame类的子类
C.Frame的子类D.Window的子类
解析:
本题考查Applet的基本知识。
Applet类定义了小应用程序(Applet)与其运行环境之间的一个接口;JApplet是Applet类的扩展,它继承了Applet的方法和执行机制,同时也增加了对Swing构件的支持。
每个Java小应用程序都必须是Applet类或JApplet类的子类。
因此,本题的正确答案是A。
13.在Applet的init()方法被调用后,接下来最先被调用的方法是B。
A.run()B.start()C.stop()D.destroy()
解析:
Applet生命周期包括Applet的创建、运行与消亡几个状态。
Applet类提供了在生命周期不同阶段响应主要事件的4种方法,这4种方法的调用次序如下图所示。
由上图可知,在调用完init()方法后,接下来最先被调用的是start()方法。
因此,本题的正确答案是B。
14.整型数据类型中,需要内存空间最少的是D。
A.shortB.longC.intD.Byte
15.下列标识符(名字)命名原则中,正确的是D。
A.类名的首字母小写B.变量和方法名的首字母大写
C.接口名的首字母小写D.常量完全大写
解析:
Java命名的基本原则包括如下几条:
、$不作为变量名、方法名的开头;变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。
根据上述命名规则,选项D的说法是正确的。
16.Java中定义常量的保留字是B。
A.constB.finalC.finallyD.Native
解析:
fmal是最终的修饰符,其修饰的是常量。
17.在调用方法时,若要使方法改变实参的值,可以C。
A.用基本数据类型作为参数B.用指针作为参数
C.用对象作为参数D.以上都不可以
18.下列有关Java布尔类型的描述中,正确的是A。
A.一种基本的数据类型,它的类型名称为booleanB.用int表示类型
C.其值可以赋给int类型的变量D.有两个值:
1代表真,0代表假
19.Java中所有类的父类是D。
A.FatherB.LangC.ExceptionD.Object
解析:
ObJeot是所有类的根。
20.下列数中为八进制的是C。
A.27B.0x25C.026D.028
解析:
采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头的为八进制。
21.容器被重新设置大小后,B布局管理器的容器中的组件大小不随容器大小的变化而改变?
A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout
22.下列包中,包含Scanner类的是C。
A.javax.swingB.java.langC.java.utilD.Java.applet
23.下列选项中,与成员变量共同构成一个类的是B。
A.关键字B.方法C.运算符D.表达式
解析:
类体中定义的两种成员,数据成员和成员函数。
24.Java中的抽象类Reader和Writer所处理的流是D。
A.图像流B.对象流C.字节流D.字符流
解析:
Reader/Writer所处理的流是字符流,InputStream/OutputStream的处理对象是字节流。
25.下列命令中,A是Java的编译命令。
A.javaB.javadocC.javacD.Jar
解析:
本题考查java中JDK工具。
javac是Java编译命令,能将源代码编译成字节码,以.class扩展名存入java工作目录中。
java是Java解释器,执行字节码程序,该程序是类名所指的类,必须是一个完整定义的名字。
javadoc是Java文档生成器,对Java源文件和包以MML格式生成AP文档。
appletviewer是avaApplet浏览器。
选项A正确。
26.用于在子类中调用被重写父类方法的关键字是B。
A.thisB.superC.ThisD.Super
27.下列不属于表达式语句的是C。
A.++i;B.--j;C.b#a;D.b*=a;
解析:
前两项是自加减运算,最后一项是b=b*a。
28.下列为窗口事件的是B。
A.MouseEventB.WindowEventC.ActionEventD.KeyEvent
解析:
MouseEvent鼠标事件,AcfionEvent组件事件,KeyEvent键盘事件。
29.用鼠标点击菜单项(MenuItem)产生的事件是B。
A.MenuEventB.ActionEventC.KeyEventD.MouseEvent
解析:
ActionEvent组件事件,当特定于组件的动作(比如被按下)发生时,由组件(比如Button)生成此高级别事件。
事件被传递给每一个ActionListener对象,这些对象是使用组件的addActionListener方法注册的,用以接收这类事件。
30.当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是B。
A.start(),stop(),destroy()
B.init(),start(),stop(),start(),stop(),destroy()
C.start(),init(),stop(),destroy()
D.init(),start(),destroy()
31.在HTML文件的
A.Applet主类的文件名B.Applet显示区域的宽度
C.Applet主类的路径D.Applet显示区域的高度
32.将长整型(long)数据转换为较短的整数类型(int)数据,要进行B。
A.类型的自动转换B.类型的强制转换
C.无需转换D.无法实现
解释:
精度由小到大自由转换,由大到小强制转换
33.下列特点中不属于Java的是B。
A.多线程B.多继承C.跨平台D.动态性
34.下列标识符定义中,不合法的是D。
A.int$x;B.int_123;C.intSum_2;D.int#dim;
35.下列选项中为单精度数的是C。
A.2B.5.2C.0.2fD.023
36.类变量必须带有的修饰符是A。
A.staticB.finalC.publicD.volatile
37.下列选项中属于字符串常量的是B。
A.’abc’B.”abc”C.[abc]D.(abc)
38.Java程序默认引用的包是C。
A.java.ext包B.java.awt包C.java.lang包D.java.util包
39.当一个Applet所在的Web页面被其他页面覆盖后,不可能被调用的Applet方法是B
A.destroy() B.init() C.stop() D.start()
40.用于设置组件大小的方法是B。
A.paint()B.setSize()C.getSize()D.repaint()
解析:
在构件类的方法中,paint()方法是绘制构件.selSize()方法是设置组件大小,getSize()方法是获得组件大小,repaint()方法是重新绘制构件。
41.点击窗口内的按钮时,产生的事件是C。
A.MouseEventB.WindowEventC.ActionEventD.KeyEvent
解析:
在构件的事件类中,MouseEvent事件是鼠标事件,鼠标单击,移动,WindowEvent事件是窗口事件,关闭窗口,窗口闭合,图标化,ActionEvent事件是动作事件,按钮按下,TextField中按Enter键,KeyEvent事件是键盘事件,键按下、释放。
42.AWT中用来表示对话框的类是D。
A.FontB.ColorC.PanelD.Dialog
解析:
AWT中Font是表示字体的类,Color是表示颜色的类,Panel是表示面板的类,Dialog是表示对话框的类。
43.下列运算符中,优先级最高的是D。
A.+=B.==C.&&D.++
解析:
算术运算符的优先级中,++和--级别最高。
44.下列运算中结果为1的是B。
A.8>>1B.4>>>2C.8<<1D.4<<<2
解析:
>>是按位右移运算符,<<是按位左移运算符,>>>是添零右移运算符,没有<<<运算符。
45.在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是B。
A.stop()B.destroy()C.paint()D.start()
解析:
APpld的生命周期中有四个状态:
初始态、运行态、停止态和消亡态。
当程序执行完init()方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态;当Applet程序所在的浏览器图标化或者是转入其它页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态;在停止态中,如果浏览器又重新装载该Applet程序所在的页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态;当然,在停止态时,如果浏览器关闭,则Applet程序调用destroyO方法,进入消亡态。
46.自定义异常类的父类可以是C。
A.ErrorB.VirtualMachineErrorC.ExceptionD.Thread
解析:
自定义异常类都是Throwable及其子集,所以只有C可以做它的父类。
47.Applet的默认布局管理器是B。
A.BorderLayoutB.FlowLayoutC.GridLayoutD.PanelLayout
解析:
布局管理器主要有:
FlowLayout,BorderLayout,GridLayout,CardLayout和GridBagLayout等,可根据不同的布局需要选择不同的管理器。
布局管理器不能直接响应用户操作,需要在程序中添加响应用户操作的代码。
FlowLayout布局管理器,是Panel和Applet的默认布局管理器。
使用FlowLayout进行布局,在大小不变的容器中,构件的放置规律是从上到下、从左到右依次放置;当容器大小发生变化时,构件变化规律是构件大小不变,但其相对位置改变。
FlowLayout的构造方法包括:
FlowLayout(<对齐方式>.<横向间隔>,<纵向间隔>)、FlowLayout(<对齐方式>)默认的横向和纵向间隔都是5、FlowLayout()默认居中方式,以及横向和纵向间隔是5。
48.Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是C。
A.WriterB.DataOutputC.OutputStreamD.ObjectOutput
解析:
ObjectOutputStream的直接父类是IutputStream。
49.在方法内部使用,代表对当前对象自身引用的关键字是D。
A.superB.ThisC.SuperD.This
解析:
super关键字为实现对父类变量的访问和对父类方法的调用。
对当前对象自身的引用应使用this关键字。
50.下列语句中,语法正确的是。
A.bytey=11;bytex=y+y;
B.Stringx=newObject();
C.Objectx=newString(“Hellow”);
D.inta[11]=newint[11];
51.下列A事件表明在一个java.awt.Component构件之上有一个按键按下。
A.KeyEventB.KeyDownEventC.KeyPressEventD.KeyTypedEvent
52.D创建一个监听类,当鼠标移动时,它可以接受事件。
A.通过继承MouseListener接口B.通过实现MouseListener接口
C.通过继承MouseMotionListener接口D.通过实现MouseMotionListener接口
53.以下说法正确的是A。
A.一个gridLayout布局管理器可以将多个构件定位在多行或多列上
B.一个borderLayout布局管理器的North位置是放置一个Frame的菜单条的恰当位置
C.一个gridLayout布局管理器的各单元的大小由各自所放置的构件决定
D.一个borderLayout布局管理器中的构件的大小不随容器大小的改变而改变
54.假定有一个动作事件(ActionEvent),B方法可以判别出产生事件的构件。
A.publicClassgetClasses()B.public Object getSource()
C.public EventObject getSource()D.public Component getTarget()
解析:
a,没有此方法,返回的是此ActionEvent的class的方法应该是继承Object类的方法publicfinalClass
>getClass();
55.A布局管理器使用的是组件的最佳尺寸。
A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout
56.可以构建一个BufferedStream流。
A.newBufferedInputStream(“in.txt”);
B.newBufferedInputStream(newFile(“in.txt”));
C.newBufferedInputStream(newInputStream(“in.txt”));
D.newBufferedInputStream(newFileInputStream(“in.txt”));
57.可以确定prefs是一个目录或文件。
A.Booleane
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 期末 复习题