Java复习资料.docx
《Java复习资料.docx》由会员分享,可在线阅读,更多相关《Java复习资料.docx(23页珍藏版)》请在冰豆网上搜索。
Java复习资料
单选题
1.用于将java源代码文件编译成字节码的编译器是( )。
A.javacB.javaC.jdbD.javah
2.Java应用程序的入口方法是( )。
A.start()B.init()C.paint()D.main()
3.下列选项在java中属于不合法的标识符的是( )。
A.BigMeaninglessNameB._whatavariableC.#myvarD.$dollar
4."当在命令行输入:
javamyproggoodmorning运行以下代码,输出结果是( )。
publicclassmyprog{
publicstaticvoidmain(Stringargv[])
{
System.out.println(argv[2]);
}
}"A.myprogB.goodC.morningD.Exceptionraised:
"java.lang.ArrayIndexOutOfBoundsException:
2"
5.下列整型数据类型中,需要内存空间最少的是( )。
A.shortB.longC.intD.byte
6.执行完代码int[]x=newint[25];后,下列选项说明正确的是( )。
A.x[24]为0B.x[24]未定义C.x[25]为0D.x[0]为空
7."设有下面两个类的定义:
classPerson
{longid;//身份证号
Stringname;//姓名
}
classStudentextendsPerson
{intscore;//入学总分
intgetScore(){returnscore;}
}
问:
类Person和类Student的关系是( )。
"A.包含关系B.继承关系C.关联关系D.无关系,上述类定义有语法错误
8.设x,y均为已定义的类名,下列声明对象x1的语句中正确的是( )。
A.publicxx1=newy();B.xx1=x();C.xx1=newx();D.intxx1;
9.在switch(expression)语句中,expression的数据类型不能是( )。
A.doubleB.charC.byteD.short
10.为了使包sos在当前程序中可见,可以使用的语句是( )。
A.importsos.*;B.packagesos.*;C.sosimport;D.sospackage;
11.下列数组初始化形式正确的是( )。
A.intt1[][]={{1,2},{3,4},{5,6}};B.intt2[][]={1,2,3,4,5,6};
C.intt3[3][2]={1,2,3,4,5,6};D.intt4[][];t4={1,2,3,4,5,6};
12."下列语句序列执行后,x的值是( )。
inta=3,b=4,x=5;
if(++a==b)x=++a*x;"
A.35B.25C.20D.5
13."当下列程序执行时,其输出结果是( )。
intx=5;
inty=2;
System.out.println(x+y+""k"");"
A.5kB.7kC.52kD.3k
14.下列说法正确的是( )。
A.final可修饰类、属性、方法B.abstract可修饰类、属性、方法
C.定义抽象方法需有方法的返回类型、名称、参数列表和方法体
D.用final修饰的变量,在程序中可对这个变量的值进行更改
15."编译和运行下面代码时显示结果是( )
publicclassConv{
publicstaticvoidmain(Stringargs[]){
Convc=newConv();
Strings=newString(""ello"");
c.amethod(s);
}
publicvoidamethod(Strings){
charc='H';
c+=s;
System.out.println(c);
}
}"A.HelloB.elloC.elloHD.编译错误
16.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是( )。
A.java.appletB.java.awtC.java.utilD.java.lang
17.在Java中,所有类的根类是( )。
A.java.lang.ObjectB.java.lang.Class
C.java.applet.AppletD.java.awt.Frame
18.Java语言的类间的继承关系是( )。
A.多重的B.单重的C.线程的D.不能继承
19."阅读下列代码后,下列选项说法正确的是( )。
publicclassPerson
{
intarr[]=newint[10];
publicstaticvoidmain(Stringargs[])
{
System.out.println(arr[1]);
}
}"
A.编译时将产生错误B.编译时正确,运行时将产生错误
C.输出零D.输出空
20.在Java中,关键字()使类不能派生出子类。
A.finalB.publicC.privateD.protected
21.在Java中,用package语句说明一个包时,该包的层次结构必须( )。
A.与文件的结构相同B.与文件目录的层次相同
C.与文件类型相同D.与文件大小相同
22.设Strings="story";下列选项中的语句书写正确的是( )。
A.s+="books";B.charc=s[1];
C.intlen=s.length;D.s=s-"books";
23.关于构造方法叙述错误的是()
A.构造方法不可以重载。
B.构造方法可以重载。
C.构造方法没有类型D.构造方法的名字与类名完全相同。
24.下列叙述错误的是()
A.实例方法可以调用实例方法。
B.类方法可以调用实例方法。
C.实例方法可以调用类方法。
D.类方法可以调用类方法。
25.定义主类的类头时可以使用的访问控制符是( )。
A.privateB.protectedC.publicD.privateprotected
26."设有下面的两个类定义:
classAA{
voidShow(){System.out.println(""我喜欢Java!
"");
}
classBBextendsAA{
voidShow(){System.out.println(""我喜欢C++!
"");
}
则顺序执行如下语句后输出结果为:
()
AAa;
BBb;
a.Show();
b.Show();"
A."我喜欢Java!
我喜欢C++!
"B."我喜欢C++!
我喜欢Java!
"
C."我喜欢Java!
我喜欢Java!
"D."我喜欢C++!
我喜欢C++!
"
27在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。
A.if-elseB.switchC.tryD.throw
28为了区分重载多态中同名的不同方法,要求( )。
A.采用不同的参数列表B.返回值类型不同
C.调用时用类名或对象名做前缀D.参数名不同
29"下面语句操作的输出结果是( )。
System.out.println(4|3);"
A.6B.0C.1D.7
30下列关于修饰符混用的说法错误的是( )。
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.staic方法中能处理非static的属性
31下列有关整型的最终属性i的定义正确的是( )。
A.staticfinalinti=100;B.finali;
C.staticinti;D.finalfloati=1.2f;
32"下列代码中的""this""指的是( )。
classbird{
intx,y;
voidfly(intx,inty){
this.x=x;
this.y=y;
}
}"A.birdB.flyC.bird或flyD.不一定
33"下面2个文件位于相同目录下,编译运行后会出现的情况是( )。
//FileP1.java
packageMyPackage;
classP1{
voidafancymethod(){
System.out.println(""Whatafancymethod"");
}
}
//FileP2.java
publicclassP2extendsP1{
publicstaticvoidmain(Stringargv[]){
P2p2=newP2();
p2.afancymethod();
}
}"
A.2个文件都可以编译,P2运行输出"Whatafancymethod"
B.2个文件都不能编译
C.2个文件都可以编译,P2运行时报错误
D.P1编译成功,P2编译时报错误
34下列有关子类继承父类构造函数的描述正确的是( )。
A.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数
B.子类无条件地继承父类不含参数的构造函数
C.子类必须通过super关键字调用父类的构造函数
D.子类无法继承父类的构造函数
35在代码中使用catch(Exceptione)的好处是( )。
A.只会捕获个别类型的异常B.捕获try块中产生的所有类型的异常
C.忽略一些异常D.执行一些程序
36下面是有关子类继承父类构造函数的描述,其中正确的是()。
A.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B.子类无条件地继承父类不含参数的构造函数。
C.子类必须通过super关键字调用父类的构造函数。
D.子类无法继承父类的构造函数。
37"应用程序的main方法中有以下语句,则输出的结果是()。
Strings=""java@123456@"";
intn=s.indexOf(""@"");
intk=s.indexOf(""@"",5);
Strings2=s.substring(n+1,k);
System.out.println(s2);"
A.123456B.javaC.@D.5
38对抽象类的描述错误的是()。
A.必须被继承使用B.方法必须被重写
C.不能实例化D.用final修饰符修饰
39对于catch子句的排列,下列()是正确的。
A.父类在先,子类在后B.子类在先,父类在后
C.有继承关系的异常不能在同一个try结构程序段内D.排列顺序可任意
40下列选项中属于过滤流FilterInputStream的子类的是()。
A.DataInputStreamB.DataOutputStream
C.PrintStreamD.BufferedOutputStream
41"有以下程序段:
classMyThreadextendsThread{
publicstaticvoidmain(Stringargs[]){
MyThreadt=newMyThread();
MyThreads=newMyThread();
t.start();
System.out.print(""one."");
s.start();
System.out.print(""two."");
}
publicvoidrun(){
System.out.print(""Thread"");
}
}
则下列选项说法正确的是()。
"
A.编译失败B.程序运行结果为:
one.Threadtwo.Thread
C.程序运行结果是:
one.two.ThreaThreadD.程序运行结果不确定
42下列有关事件监听器的描述正确的是()。
A.多个监听者可以被附加到一个组件B.只有一个监听者可以被附加到一个组件上C.一个监听者只能接受一个组件产生的事件D.以上描述都不对
43在JAVA语言网络编程中,URL类是在包中,该类中提供了许多方法用来访问URL对象的各种资源,下列选项中可用来获取URL中的端口号的是()。
A.getFile()B.getProtocol()C.getHost()D.getPort()
44使用File类,不能执行的操作包括()。
A.改变当前目录B.返回上级目录的名字C.删除一个文件D.创建目录
45下列关于Java语言中线程的说法不正确的有()。
A.支持多线程机制
B.一个线程创建并启动后,它将执行自己的run()方法,如果通过派生Thread类实现多线程,则需要在子类中重新定义run()方法,把需要执行的代码写入run()方法中;如果通过实现Runnable接口实现多线程,则要编写接口中的抽象方法----run()方法的方法体
C.要在程序中实现多线程,必须导入类:
importjava.lang.Thread;
D.一个程序中的主类不是Thread的子类,该类也没有实现Runnable接口,则这个主类运行不能控制主线程的休眠
46创建一个向文件“file.txt”追加内容的输出流对象的语句有()。
A.OutputStreamout=newFileOutputStream(“file.txt”);
B.OutputStreamout=newFileOutputStream(“file.txt”,“append”);
C.FileOutputStreamout=newFileOutputStream(“file.txt”,true);
D.FileOutputStreamout=newFileOutputStream(newfile(“file.txt”));
47以下方法用于定义线程的执行体(线程体)。
A.start()B.init()C.run()D.synchronized()
48计算机中的流是
A.流动的字节B.流动的对象C.流动的文件D.流动的数据缓冲区
49一个JavaApplication运行后,在系统中是作为一个
A.线程B.进程C.进程或线程D.不可预知
50如果线程正处于运行状态,则它可能到达的下一个状态是()
A.只有终止状态B.只有阻塞状态和终止状态
C.可运行状态,阻塞状态,终止状态D.其他所有状态
51Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是A.WriterB.DataOutputC.OutputStreamD.ObjectOutput
52如果线程正处于运行状态,则它可能到达的下一个状态是()
A.只有终止状态B.只有阻塞状态和终止状态
C.可运行状态,阻塞状态,终止状态D.其他所有状态
53"在下列程序的空白处,应填入的正确选项是()
importjava.io.*;
publicclasswriteInt{
publicstaticvoidmain(string[]a){
int[]myArray={10,20,30,40};
try{
DataOutputSystemdos=newDataOutputSystem(newFileOutputSystem(“ints.dat”));
for(inti=0;I dos。
writeInt(myArray[i]);
dos._____;
System.out.println
(“Havewrittenbinaryfileints.dat”);
}
catch(IOExceptionioe)
{System.out.println(“IOException”);
}
}
}"A.start()B.close()C.read()D.write()
54在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是()A.stop()B.destroy()C.paint()D.start()
55在多线程并发程序设计中,能够给对象x加锁的语句是()
A.x.wait()B.synchronized(x)C.x.notify()D.x.synchronized()
56"阅读下列Java语句
ObjectOutputStreamout=newObjectOutputStream{new_______(“employee.dat”);
在下划线处,应填的正确选项是()"
A.FileB.FileWriterC.FileOutputStreamD.OutputStream
57使新创建的线程参与运行调度的方法是()
A.run()B.start()C.init()D.resume()
58"阅读下列代码段
ClassTestimplementsRunnable{
Publicintrun(){
inti=0;
while(true){
i++;
System.out.println(“i=”+i);
}
}
}
上述代码的编译结果是()"
A.程序通过编译并且run()方法可以正常输出递增的i值
B.程序通过编译,调用run()方法将不显示任何输出
C.程序不能通过编译,因为while的循环控制条件不能为“true”
D.程序不能通过编译,因为run()方法的返回值类型不是void
59下列InputStream类中哪个方法可以用于关闭流?
()
A.skip()B.close()C.mark()D.reset()
60Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是()
A.WriterB.DataOutputC.OutputStreamD.ObjectOutput
61Java程序的并发机制是()
A.多线程B.多接口C.多平台D.多态性
多选题
1.下面赋值语句是合法的是()。
A.floata=2.0;B.doubleb=2.0;C.intc=2;D.longd=2;
2.下面代码行中编译的时候会报警告或错误的有( )。
A.floatf=1.3;B.charc="a";
C.byteb=257;D.booleanb=null;inti=10;
3.下列语句中,可以创建数组实例的有( )。
A.int[]ia=newint[15];B.floatfa=newfloat[20];
C.Objectoa=newfloat[20];D.Intia[][]=(4,5,6)(1,2,3)
4.下面属于Java保留字或关键字的有:
( )。
A.ifB.thenC.whileD.case
5.下列关于JAVA中包的说法正确的有( )。
A.把各种类组织在一起,使得程序功能清楚、结构分明
B.使用包可以有利于实现不同程序间类的复用
C.包是一种松散的类的集合,一般不要求处于同一个包中的类有明确的相互关系,如包含、继承
D.同一包中的类在缺省情况下可以互相访问,所以为了方便编程和管理,通常把需要在一起工作的类放在一个包里创建包的语句需要使用关键字pac