Core Java测试题.docx
《Core Java测试题.docx》由会员分享,可在线阅读,更多相关《Core Java测试题.docx(18页珍藏版)》请在冰点文库上搜索。
CoreJava测试题
班级:
姓名:
日期:
CoreJava试题
选择填空题:
全部为多选题,只有全部正确才能得分。
1.编译java程序的命令是___b_____;运行java程序的命令是____a____;产生java文挡的命令是___d_____;查询java类型是否是serializable类型的命令是____c____;产生java安全策略文件的命令是____e____;产生类型归档文件.jar的命令是____f____。
A.javaB.javacC.serialver
D.javadocE.policytoolF.jar
2.在一个java原文件中,import,class,package语句的顺序是___f_____。
A.importclasspackage
B.classimportpackage
C.packageclassimport
D.importpackageclass
E.classpackageimport
F.packageimportclass
3.下面叙述正确的有________cde____________。
A.在一个java原文件中只能定义一个class
B.在一个java原文件中只能定义一个interface
C.在一个java原文件中可以定义多个class
D.在一个java原文件中可以定义多个interface
E.在一个java原文件中可以定义多个class和interface
F.在一个java原文件中只能定义publicclass
G.java原文件的前缀一定是所包含类型的名字
4.java程序中程序运行入口方法main的签名正确的有__ab______。
A.publicstaticvoidmain(Stringargs[])
B.staticpublicvoidmain(String[]args)
C.publicvoidstaticmain(String[]args)
D.publicvoidmain(Stringargs[])
5.java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从___a_____开始。
A.0B.1C.-1
6.以下属于正确的java注释有_____acd___。
A.//ThisiscommentB./*Thisiscomment
C./**Thisiscomment*/D./*Thisiscomment*/
7.以下能作为class,interface,method或variable有效标识符的有______ad(f)__________。
A.ForB.booleanC.23age
D._idE.mynameF.$this_is_a_long_variable_name
8.以下不是java关键字的有___d_____。
A.superC.thisD.NULLE.true/false
9.以下能作为char类型的字面值的有__db______。
?
?
A.“e”B.’f’C.‘\u12’D.’\u0012’
10.byte变量的取值范围是___b_____。
A.0-65535B.-128–127C.-256–255D.0-32767
11.以下正确的有___ac_____。
A.inti=32;B.floatf=45.32;C.doubled=3.2;
12.以下返回true的表达式有___ac_____。
A.“george”==“george”B.”george”=“george”
C.“george”.equals(newString(“george”))D.“george”==newString(“george”)
13.根据以下程序选择正确答案____c____:
publicclassTest{
staticinttotal=10;
publicstaticvoidmain(Stringargs[]){
newTest();
}
publicTest(){
System.out.println("Intest");
System.out.println(this);
inttemp=this.total;
if(temp>5){
System.out.println(temp);
}
}
}
A.编译出错B.运行时有异常C.编译运行都正确
14.下面集合定义正确的有___bd_____。
A.Stringstrs[]={‘a’‘b’‘c’};
B.String[]strs={“a”,“b”,“c”};
C.String[]strs=newString{“a””b””c”};
D.Stringstrs[]=newString[]{“a”,“b”,“c”};
E.String[]strs=newString[3]{“a”,“b”,“c”};
15.分别使用for,while,do/while循环实现从1到100的累加。
1)for
2)while
3)do-while
16.以下switch表达语句正确的有____ac____。
A.publicvoidswitchTest(charc){
switch(c){…}
}
B.publicvoidswitchTest(longc){
switch(c){…}
}
C.publicvoidswitchTest(bytec){
switch(c){…}
}
D.publicvoidswitchTest(doublec){
switch(c){…}
}
17.在面向对象编程中,一个类型由____c____、____d____和___f_____组成。
面向对象的特性包括____g____、____j____和___i_____。
在java中访问权限的限制由严格到宽松依次是__e______、____h____、___b_____和_____a___。
A.publicB.protectedC.identifierD.data
E.privateF.operationsG.inheritanceH.default(nomodifier)
I.encapsulationJ.polymorphism
18.以下方法申明正确的有_______a_d________。
A.publicstaticsynchronizedvoidwriteLog(Stringmsg)
B.synchronizedpublicstaticwriteLog(Stringmsg)
C.publicfinalabstractvoidwriteLog(Stringmsg)
D.finalpublicvoidwriteLog(Stringmsg)
E.abstractsynchronizedvoidwriteLog(Stringmsg)
19.Java方法的参数传递对于基本数据类型如int,byte等,参数传递是__c______;对自定义数据类型,参数传递是____a____。
A.byreferenceB.bypointerC.byvalueD.byaddress
20.如下程序:
publicclassArugmentTest{
staticclassIntA{
privateinta;
publicIntA(inta){this.a=a;}
publicintgetA(){returna;}
publicvoidsetA(inta){this.a=a;}
}
staticpublicvoidchange(inta){
a=3;
}
staticpublicvoidchange(IntAa){
a.setA(3);
}
staticpublicvoidchangeRef(IntAa){
a=newIntA(9);
}
publicstaticvoidmain(String[]args){
inta=2;
change(a);
System.out.print(a);
IntAia=newIntA(5);
change(ia);
System.out.print(ia.getA());
ChangeRef(ia);
System.out.println(ia.getA());
}
}
在控制台上输出的是____a____。
A.233B.333C.259D.339
21.下面程序出错的有____10(2,8)____行。
1.classStudent{
2.privateStringname;privateintage;
3.publicStudent(){}
4.publicvoidsetName(Stringname){this.name=name;}
5.voidsetAge(intage){this.age=age;}
6.}
7.publicclassStudentTest{
8.publicvoidstaticmain(String[]args){
9.Students=newStudent();
10.s.name=“Hellen”;
11.s.setAge(20);
12.}
13.}
22.方法重载(overloading)必须满足____bce____。
A.在不同class中定义的方法B.在同一类型中定义的方法
C.方法名必须相同D.返回类型必须相同
E.参数一定不同F.参数可以相同
23.对于构造方法(constructor)描述正确的有____ac____。
A.构造方法没有返回类型B.构造方法一定是public的方法
C.果我们没有显示定义构造方法,系统会提供一个缺省的
D.构造方法不能重载
24.在java语法中允许____b____继承,__a______方法不能被继承,____cd____被继承,显示调用父类型的构造方法是通过调用__e______来完成的。
A.constructorB.singleC.methodsD.fieldsE.super
25.以下对于方法覆盖(overriding)的说法正确的有___bcdgh_____。
A.方法覆盖发生在同一类中B.方法的覆盖发生在子类型中
C.方法名一定要一样D.参数一定要一样
E.返回类型可以不一样F.访问权限只能一样
G.如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
H.静态方法可以被静态方法覆盖
26.请看以下程序:
classVehicle{
publicvoiddrive(){
System.out.println("Vehicle:
drive");
}
}
classCarextendsVehicle{
publicvoiddrive(){
System.out.println("Car:
drive");
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Vehiclev;
Carc;
v=newVehicle();
c=newCar();
v.drive();
c.drive();
v=c;
v.drive();
}
}
以下描述正确的有____c____。
A.对于语句v=c;会导致编译错误B.对于语句v=c;会导致运行错误
C.运行输出:
Vehicle:
drive
Car:
drive
Car:
drive
D.运行输出:
Vehicle:
drive
Car:
drive
Vehicle:
drive
27.程序:
publicclassStaticTest{
static{
System.out.println("Hithere");
}
publicvoidprint(){
System.out.println("Hello");
}
publicstaticvoidmain(Stringargs[]){
StaticTestst1=newStaticTest();
st1.print();
StaticTestst2=newStaticTest();
st2.print();
}
}
什么时候字符串“Hithere”会输出___c_____。
A.永远都不会输出B.创建st1和st2时
C.第一次将StaticTest类型装载进内存时D.显示调用print方法时
28.以下描述正确的有__abcd______。
A.finalclass不能被继承B.final变量不能被修改
C.final成员变量可以在构造方法中赋值
D.final方法不能被覆盖(overriden)
29.以下描述正确的有___bcde_____。
A.abstractclass一定有abstractmethod(s)
B.abstractclass可以没有abstractmethod(s)
C.定义abstractclass的目的是为了被继承
D.interface中定义的方法全是abstractmethods
E.interface中定义的变量全部是finalstatic变量
30.innerclass的类型有____abcd____。
A.memberinnerclassB.staticinnerclass
C.localinnerclassD.anonymousinnerclass
E.publicinnerclassF.globalinnerclass
31.一个匿名的内置类有可能____abd____。
A.继承其他的类B.实现了某一接口
C.定义了构造方法D.可以使用成员变量
32.如果你想将一组对象按一定顺序存取,在不考虑并发访问的情况下会使用__c______,反之则会使用___a_____;如果你想存储一组无序但唯一的对象,你会使用_____b___;如果你想按关键字对对象进行存取,在不考虑并发访问的情况下会使用___d_____,反之则会使用____e____。
A.VectorB.HashSetC.ArrayList
D.HashMapE.Hashtable
33.程序代码:
publicclassExceptionTest{
publicdoublediv(doublea,doubleb){
try{
returna/b;
}catch(Exceptione){
System.out.println(“Exceptionthrown”);
}finally{
System.out.println(“Releaseresources.”);
}
}
publicstaticvoidmain(String[]args){
ExceptionTestet=newExceptionTest();
et.div(1,2);
et.div(3.4,0);
}
}
可能产生的结果是____A____:
A.编译不成功B.无法运行
C.程序运行输出为:
Releaseresources.
Exceptionthrown
Releaseresources.
34.___a_____又叫做uncheckedexception。
CheckedException通常继承___b_____。
在方法签名上指定可能有异常产生用关键字__e______,在程序中产生异常用关键字___d_____。
获得异常的简单描述信息调用方法_c______,获得详细的异常栈信息调用方法__f______。
A.RuntimeExceptionB.ExceptionC.getMessage
D.throwE.throwsF.printStackTrace
35.在图形编程中,将不同的控件按区域排列用__d______布局管理器;让控件自动排列并保持大小用____c____布局管理器;让控件按相同大小排列用____b____布局管理器;一次只有一个控件可见的布局管理器是___a_____。
A.CardLayoutB.GridLayout
C.FlowLayoutD.BorderLayout
36.图形编程通常按_____c->a->b->d_____________顺序。
A.设置布局管理器(Layoutmanager)B.向容器中增加控件
C.选择容器D.为控件设置事件处理器
37.完成如下代码,按照FlowLayout的布局方式向JFrame中添加一JButton:
JFrameframe=newJFrame(“SimpleGUI”);
FlowLayoutfl=newFlowLayout();
frame.___getContentPane().setLayout(fl)_______________;
JButtonbtn=newJButton(“OK”);
frame._____getContentPane().add(btm)________________;
38.事件处理方式采用了observer(观察者)设计模式,事件编程模式三要素是_a_______、___b_____和_c_______。
其中,___b_____通常继承java.util.EventObject,____c____通常继承java.util.EventListener。
?
?
A.EventsourceB.Eventobject
C.EventlistenerD.HelperE.Model
39.JButton是____b____事件的事件源,它通过方法____a____注册事件侦听器,事件侦听器必须实现接口___c___,当事件发生时侦听器的方法____e____被调用,在此方法中调用___b_____的方法___d_____可以获得事件源。
A.addActionListenerB.ActionEvent
C.ActionListenerD.getSourceE.actionPerformed
40.JFrame的却省布局管理器是__b____,JDialog的却省布局管理器是__b____,JPanel的却省布局管理器是____a____。
A.FlowLayoutB.BorderLayout
C.GridLayoutD.GridBagLayout
41.在swing编程中,用作提示信息的控件是____f____,作单行文本编辑的控件是___d_____,用作多行文本编辑的控件是_____a___,可编辑HTML等类型文档的控件是____e____,在界面上显示多条记录并可多重选择的控件是___b_____,从下拉框中选择记录的空间是__c______。
A.JTextAreaB.JListC.JComboBox
D.JTextFieldE.JEditorPaneF.JLabel
42.swing图形界面通常都会有菜单控件,所有的菜单都加到___c_____;菜单的类型是____e____;在菜单上会有选项类型___abde_____。
A.JMenuItemB.JCheckBoxMenuItem
C.JMenuBarD.JRadioBoxMenuItemE.JMenu
43.一个applet如果使用了swing控件,这个applet必须继承___b_____;控制applet生命周期的方法有____e____个,它们是____g____。
applet是嵌入在html页面的java程序,放置___i_____标签中,它的属性包含___jk_____。
Applet要调用html页面里提供的定制参数,调用方法____l____,要在浏览器的状态栏显示信息调用方法____m____。
A.AppletB.JAppletC.两个
D.三个E.四个F.init,start
G.init,start,stop,destoryH.init,start,destoryI.applet
J.codeK.codebaseL.getParameterM.showStatus
44.创建线程(Thread)的方式有两种,一种是继承类___b_____,另一种是实现接口__c______。
启动线程的方法是__a______。
线程启动后运行的是___d_____里的代码。
A.runB.ThreadC.RunnableD.start
45.完成以下代码创建并启动线程:
publicclassTestThreadimplementsRunnable{
publicvoidrun(){
for(inti=0;i<10000;i++)
System.out.println(i);
}
publicstaticvoidmain(String[]args){
TestThreadtt=newTestThread();
Threadt=__newThread(tt)______;
t..start()________;
}
}3
46.判断一个线程是否被中断,调用方法___c_____;中断一个线程,调用方法___a_____;等待一个线程退出,调用方法____b____;一个线程放弃执行权利调用方法_____d___。
A.interruptB.joinC.isInterruptedD.yield
47.并发控制是多线程编程的难点。
一个线程要等待某个条件的满足调用方法___b_____;通知某一个处于等待状态线程的方法是___a_____,通知多个的是____d____;处于等待状态的线程当前调用的