java题库.docx
《java题库.docx》由会员分享,可在线阅读,更多相关《java题库.docx(68页珍藏版)》请在冰点文库上搜索。
java题库
六、简答题
1、当塑型前和塑型后的类中都提供了相同的方法,并将此方法发送给塑型后的对象,系统将会调用哪一个类中的方法?
答:
对实例方法,总是从对象创建时所属的类开始,沿类层次向上查找。
对类方法,查找在编译时进行,所以总是在引用变量声明时所属的类中进行查找。
2、简述JDBC的功能?
试题答案:
JDBC是为java语言定义的一个SQL调用级接口。
JDBC使开发人员能够用纯javaAPI来编写数据库应用程序。
JDBC隔离了java与不同数据库之间的对话,使得java程序无须考虑不同的数据库管理系统平台。
3、简述synchronized的功能?
试题答案:
首先判断对象的锁旗标是否在,如果在就获得锁旗标,然后就可以执行紧随其后的代码段;如果对象的锁旗标不在,就进入等待状态,直到获得锁旗标。
4、简述java程序编译执行过程?
试题答案:
首先把源文件编译成字节码文件,即类文件;然后由解释器负责解释执行类文件。
5、试述哈希表存储对象的方式与数组、Vector及ArrayList不同?
试题答案:
1)数组,Vector及ArrayList中对象的存储位置是随机的,即对象本身与其存储位置之间没有必然的联系。
因此查找一个对象时,只能以某种顺序(如顺序查找,二分查找)与各个元素进行比较,如果数组或向量中的元素数量很庞大时,查找的效率必然降低
2)哈希表中,对象的存储位置和对象的关键属性k之间有一个特定的对应关系f,我们称之为哈希(Hash)函数。
它使每个对象与一个唯一的存储位置相对应。
因而在查找时,只要根据待查对象的关键属性k,计算f(k)的值即可知其存储位置
6、抽象基类与接口的异同点?
试题答案
1)相同点
a都可以被继承。
b本身都不能被实例化
2)不同点
a抽象类是一个不完整的类,需要进一步细化;而接口只是一个行为上的规范。
b抽象基类不能实现多继承,而接口可以实现多继承。
c抽象基类可以定义字段、属性、包含有实现的方法。
接口可以定义字段、索引器、事件但不能定义字段和包含实现的方法。
7、试述哈希表存储对象的方式与数组、Vector及ArrayList不同?
试题答案:
1)数组,Vector及ArrayList中对象的存储位置是随机的,即对象本身与其存储位置之间没有必然的联系。
因此查找一个对象时,只能以某种顺序(如顺序查找,二分查找)与各个元素进行比较,如果数组或向量中的元素数量很庞大时,查找的效率必然降低
2)哈希表中,对象的存储位置和对象的关键属性k之间有一个特定的对应关系f,我们称之为哈希(Hash)函数。
它使每个对象与一个唯一的存储位置相对应。
因而在查找时,只要根据待查对象的关键属性k,计算f(k)的值即可知其存储位置
8、抽象基类与接口的异同点?
试题答案答:
1)相同点a都可以被继承。
b本身都不能被实例化
2)不同点a抽象类是一个不完整的类,需要进一步细化;而接口只是一个行为上的规范。
b抽象基类不能实现多继承,而接口可以实现多继承。
c抽象基类可以定义字段、属性、包含有实现的方法。
接口可以定义字段、索引器、事件但不能定义字段和包含实现的方法。
9、什么是线程的生命期?
它包括哪几种状态?
试题答案:
线程的生命期是指从线程被创建开始到死亡的过程,通常包括5种状态:
新建、就绪、运行、阻塞、死亡。
10、什么是继承?
继承的意义?
如何定义继承关系?
试题答案:
继承是一种由已有的类创建新类的机制。
通过继承可以实现代码的复用,使程序的复杂性线性地增长,而不是随规模增大呈几何级数增长。
由于父类代表了所有子类的共性,而子类既可继承其父类的共性,又可以具有本身独特的个性,在定义子类时,只要定义它本身所特有的属性与方法就可以了。
一、选择题
1.列代码的输出结果是(A)
classyou{
publicstaticvoidmain(String[]args){
intsales=3500;
intprofit=800;
System.out.println(((sales+profit)/10)*5);
}
}
A.2150B.1250C.5210D.2510
2.在Java中,byte数据类型的范围是(D)
A.-32767~32768B.-32768~32767C.-127~128D.-128~127
3.Java源代码文件的扩展名为(B)
A..classB..javaC..comD.以上所有选项都不正确
4..Java编译器会将Java程序转换为(A)
A.字节码B.可执行代码C.机器代码D.以上所有选项都不正确
5.在屏幕上显示的消息正确的语句是(A)
A.System.out.println(“IamJavaExpert”);B.system.out.println(“IamJavaExpert”);
C.System.Out.Println(“IamJavaExpert”);D.System.out.println(‘IamJavaExpert’);
6.下面(A)数据类型可用于main()方法中传递的参数
A.StringB.IntegerC.BooleanD.Variant
7.下面(B)命令可用于编译Java程序
A.javaB.javacC.appletviewerD.javadoc
8.编译并运行以下程序,以下描述哪个选项是正确的(C)。
1.classATestOftoString{
2.protectedStringtoString(){
3.returnsuper.toString();}
4.}
A、编译通过运行无异常B、编译通过但运行时出错
C、行2出错,不能成功编译D、不能成功编译,行3出错
9.以下程序段执行后将有(C)个字节被写入到文件afile中。
try{
FileOutputStreamfos=newFileOutputStream(“afile.txt”);
DataOutputStreamdos=newDataOutputStream(fos);
dos.writeInt(3);
dos.writeDouble(0.01);
dos.close();
fos.close();
}
catch(IOExceptione){}
A、2B、8C、12D、16
10.设有下面两个赋值语句:
a=Double.parseDouble(“1.2”);
b=Double.valueOf(“1.2”);
下述说法正确的是(A)。
A、a是double类型变量,b是Double类对象。
B、a是Double类对象,b是double类型变量。
C、a和b都是Double类对象并且值相等
D、a和b都是double变量并且值相等
11.容器Panel和Applet缺省使用的布局编辑策略是(A)
A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout
12.在编写JavaApplet程序时,需要在程序的开头写上(B)语句。
A、importjava.awt.*B、importjava.applet.*;
C、importjava.io.*;D、importjava.awt.event.*;
13.以下哪个关键字可以用来对对象加互斥锁?
(C)
A、transientB、serializeC、synchronizedD、static
14.设有下面两个类的定义:
classPerson{
classStudentextendsPerson{
longid;//身份证号
intscore;//入学总分
Stringname;//姓名
intgetScore(){returnscore;}
}
}
则类Person和类Student的关系是(B)。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误
15..有以下方法的定义,请选择该方法的返回类型(D)。
ReturnTypemethod(bytex,floaty)
{return(short)x/y*2;}
A、byteB、shortC、intD、float
16.Javaapplication中的主类需包含main方法,main方法的返回类型是什么?
(D)
A、intB、floatC、doubleD、void
17.在浏览器中执行applet程序,以下选项中的哪个方法将被最后执行(C)。
A、init()B、start()C、destroy()D、stop()
18.不论测试条件是什么,下列(B)循环将至少执行一次。
A、whileB、do-whileC、forD、for-each
19.在JAVA编程中,(A)可以实现跳转结构。
A、breakB、whileC、do-whileD、for
20.JAVA程序中,(D)不能用来表示注释。
A、//注释B、/*注释*/C、/**注释*/D、/注释/
21.JAVA线程编程中,如果让线程睡眠,可以用(D)方法实现。
A、start()B、close();C、setDaemon();D、sleep();
22.在JAVASWING编程中,创建一个窗体使用组件(A)。
A、JFrameB、INTC、CHARD、LONG
23.JAVA中,按下和释放鼠标按钮的操作处理(D)事件。
A、mouseEnterdB、mouseExitiedC、mousePressedD、mouseClicked
24.字符流与字节流的区别是( A )
A、每次读入的字节数不同B、前者带有缓冲,后者没有
C、前者是块读写,后者是字节读写D、二者没有区别,可以互换使用
25.在JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()“,该语句(C)。
A、调用类Worker中定义的super()方法B、调用类Person中定义的super()方法
C、调用类Person中定义的super()方法D、语法错误
26.下列说法不正确的是(C)
A、IOException必须被捕获或抛出B、java语言会自动初始化变量的值
C、java语言不允许同时继承一个类并实现一个接口D、java语言会自动回收内存中的垃圾
27.在Java中,可以使线程运行的方法是(C)
A、init()B、sleep()C、start()D、resume()
28.如果希望所有的控件在界面上均匀排列,应使用下(B)布局管理器
A、BoxLayoutB、GridLayoutC、BorderLayoutD、FlowLayout
29.在JAVA编程中,以下(B)命令用来执行java类文件。
A、javacB、javaC、appletviewerD、以上所有选项都不正确
30.在JAVA编程中,Java编译器会将java程序转换为(A)。
A、字节码B、可执行代码C、机器代码D、以上所有选项都不正确
31.在Java中,关键字(A)使类不能派生出子类。
A、finalB、publicC、privateD、volatile
32.在JAVA语言中,使我们能够使用和更改字体来显示或键入文本的类是(A)
A、Java.awt.FontB、Java.awt.Graphics.FontC、Java.Graphics.FontD、Java.Font
33.下列选项中,属于Java语言的关键字的是(C)。
A、sizeofB、mallocC、caseD、FALSE
34.在Java语言中,如果你有下面的类定义:
abstractclassShape{abstractvoiddraw();}
classSquareextendsShape{}
如果你试图编译上面的代码会发生(D)。
A、Shape可以编译B、Square不能编译
C、Square可以编译Shape不能编译D、Shape,Square都不能编译
35.测试文件是否存在可以采用如下哪一个方法(D)。
A、isFile()B、isFiles()C、exist()D、exists()。
36.以下叙述中不正确的是(B)。
A、在方法中,通过return语句传回方法值
B、在一个方法中,可以执行有多条return语句,并返回多个值
C、在Java中,主方法main()后的一对圆括号中也可以带有参数
D、在Java中,调用方法可以在System.out.println()语句中完成
37.Java语言是(D)
A、面向问题的解释型高级编程语言B、面向机器的低级编程语言
C、面向过程的编译型高级编程语言D、面向对象的解释型高级编程语言
38.以下(AB)是合法的标识符
A.Te1_numB.emp1C.8678D.batch.no
39.选出在Java中有效的注释声明(AD)
A.//ThisisacommentB.*/Thisisacomment
C./ThisisacommentD./*Thisisacomment*/
40.下面(AC)是JDK中的Java运行工具.(选择二项)
A.javacB.javamC.javaD.javar
二、填空
1.使用__________布局的容器可以容纳多个组件,但实际上同一时刻容器只能从这些组件中选出一个来显示。
CardLayout
2.____________是使用较多的布局编辑器,其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中。
GridLayout
3.FlowLayout、GridLayout、BordrLayout布局对象都可以使用方法setVgap(intvgap)设置当前布局中组件的_____________。
垂直间距
4.FlowLayout、GridLayout、BordrLayout布局对象都可以使用方法setHgap(inthgap)设置当前布局中组件的_____________。
水平间距
5.Java.awt包中的____________类是专门用来建立选择框的。
CheckBox
6.在CheckBox类中,____________方法是用来获取选择框的标题。
getLabel
7.在CheckBox类中,___________方法是用来返回选择框的布尔状态。
GetState()
8.Java.awt包中的____________类是专门用来建立选择控件的。
Choice
9.Choice类中的______________方法,是用来返回当前项的索引。
getSelectIndex()
10.Choice类中的______________方法,是用来返回当前选项的字符串代表。
getSelctItem()
11.Choice类中的_____________方法,是用来将选项插入这个选择控件的指定位置。
insert(Stringint)
12.Choice类中的_____________方法,是用来从选择控件的选项菜单中删除指定的选项。
remove(int)
13.Choice类中的_____________方法,是用来删除选择控件中的全部选项。
removeAll()
14.Choice类中的_____________方法,是用来移去选择控件的监视器。
removeItemListener(ItemListener)
15.Java.awt包中的类___________类是专门用来建立滚动列表。
List
16.List类中的___________方法,是向滚动列表的结尾增加一个选项。
add(Strings)
17.List类中的___________方法,是增加监视器,监视滚动列表上的选择事件。
AddActionListener(ActionListener)
18.List类中的___________方法,是向滚动列表的给定位置增加一个选项。
add(Strings,intn)
19.List类中的___________方法,是增加监视器,监视滚动列表上的选择事件。
addItemListener(ItemListener)
20.在组件类的一些常用方法中____________方法是设置组件的前景颜色。
voidsetForeground(Colorc)
21.在组件类的一些常用方法中____________方法是设置组件的字体。
voidsetFont(Fontf)
22.Java的java.awt包中的_____________类或子类所创建的一个对象就是一个窗口。
Frame
23.Java中如果想给一个窗口起个名字,需使用方法super(Strings)调用父类的___________方法来完成这个任务。
构造
24.Java中Frame类的___________方法是用来获取窗口的名字。
getTitle
25.在JavaApplet小程序中创建了窗口后,窗口就可以放大、缩小、____________等。
移动
26.在设计程序时,可以不让创建的窗口一开始就可见,而是在程序中设计按钮___________,需要时,单击按钮调出所需的窗口。
事件
27.Frame类创建的对象是一个窗口容器,它默认布局是___________布局。
BorderLayout
28.Java.awt包中的Menubar类是负责创建_____________的,它的一个实例就是一个菜单条。
菜单条
29.创建一个菜单时,菜单放在菜单条里,____________放在菜单里。
菜单选项
30.在窗口中增加菜单条,必须使用___________类中的方法:
setMenuBar(Menubar)。
Frame
31.Java.awt包中的____________类是负责创建菜单的。
它的一个实例就是一个菜单。
Menu
32.在Menu类的方法中,___________方法是向菜单增加指定的选项。
add(Strings)
33.在Menu类的方法中,___________方法是得到指定索引处的选项。
getItem(intn)
34.在Menu类的方法中,__________方法是得到菜单选项的数目。
getItemCount()
35.在Menu类的方法中,___________方法是删除菜单的指定位置的菜单选项。
remove(intn)
36.在Menu类的方法中,___________方法是删除菜单的所有选项。
removeAll()
37.Java.awt包中的___________类是负责创建菜单项的,它的一个实例就是一个菜单项。
MenuItem
38.Java中要增加菜单分割线,只需使用Menu类中的____________方法。
addSeparator()
39.用MenuItem创建菜单项,如果想在选择这个菜单项时出现一个对号标记,可以用_____________类创建这个菜单项。
CheckboxMenuItem
40.菜单本身还可以是一个菜单,这样的菜单项称为____________。
子菜单
41.可以使用MenuShotcut类为菜单项设置____________,该类的一个构造方法是MenuShotcut(intkey)。
快捷键
42.可以在java应用程序中打印,首先获得一个PringJob对象,它是java.awt包中的一个abstract类,我们不能用它____________。
直接创建对象
43.java.awt.datatransfer包提供的类只能实现将程序中的___________数据复制或剪切到系统剪贴板中。
字符串
44.Java中如果准备将文本数据复制或剪切到系统剪贴板,必须首先使用___________类声明一个剪贴板对象。
Clipboard
45.Java中通过扩展___________类来创建一个对话框。
Dialog
46.___________可以接受用户的输入,实现与用户的交互。
对话框
47.对话框与一般窗口的区别在于它必须___________于其他窗口。
依赖
48.对话框分为两种,____________对话框只让程序响应对话框内部的事件,对于对话框以外的事件程序不响应。
有模式
49.对话框分为两种,____________对话框不但让程序响应对话框内部的事件,还可响应对话框以外的事件程序。
无模式
50.在对话框类Dialog中的方法__________是获取对话框的标题。
getTitle()
51.在对话框类Dialog中的方法setTitle(Strings)的作用是设置对话框的___________。
标题
52.在对话框类Dialog中的方法setModal(boolean)的作用是设置对话框的___________。
模式
53.在对话框类Dialog中的方法__________是设置对话框的大小。
setSize()
54.对话框的默认布局是____________布局,在创建对话框时必须有对话框大小的设置。
BorderLayout
55.__________是Dialog类的子类,它创建的对象称为文件对话框。
FileDialog
56.文件对话框也必须依附一个___________对象。
窗口
57.FileDialog是Dialog类的子类,它创建的对象称为__________。
文件对话框
58.JavaApplet小程序窗口的原点是窗口左上角,坐标的单位是__________。
像素
59.java.awt包中的___________类有很多处理图形的方法,供该类创建的对象使用。
Graphics
60.在JavaApplet小程序中,可以使用__________方法在屏幕上显示串对象。
drawString()
61.在JavaApplet小程序中,可以使用___________方法显示字符数组。
drawChars()
62.为了在小程序窗口中画一条直线,可以使用Graphics类的__________方法。
drawLine()
63.在JavaApplet小程序中画圆环,可以使用Graphics类的___________方法。
drawRoundRect()
64.在JavaApplet小程序中,Graphics类的对象g可以使用Graphics类的___