JAVA语言程序设计复习题.docx
《JAVA语言程序设计复习题.docx》由会员分享,可在线阅读,更多相关《JAVA语言程序设计复习题.docx(58页珍藏版)》请在冰豆网上搜索。
JAVA语言程序设计复习题
、选择填空题:
全部为多选题,只有全部正确才能得分。
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的签名正确的有a。
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有效标识符的有
adf。
A.ForB.booleanC.23age
D._idE.mynameF.$this_is_a_Iong_variable_name
8.以下不是java关键字的有d。
A.superC.thisD.NULLE.true
9.byte变量的取值范围是b。
A.0-65535B.-128?
?
127C.-256?
?
255D.0-32767
10.以下正确的有ac。
A.inti=32;B.floatf=45.32;C.doubled=3.2;
11.根据以下程序选择正确答案—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.
12.下面集合定义正确的有
A.Stringstrs[]={‘a'
B.String[]strs={“a”
C.String[]strs=newString{
D.Stringstrs[]=newString[]{
E.String[]strs=newString[3]{
运行时有异常C.
_bd。
'b'‘c'};
b,c
a?
?
?
?
a
a?
?
a,
a?
?
a,
};
b”
“b”
“b”
编译运行都正确
};
“c”};
“c”};
13.以下switch表达语句正确的有publicvoidswitchTest(charc){
switch(c){…}
}B.
A.
publicvoidswitchTest(longc){switch(c){…}
}
C.publicvoidswitchTest(bytec){switch(c){…}
}
D.publicvoidswitchTest(doublec){switch(c){…}
}
14.面向对象的特性包括
格到宽松依次是
A.public
D.data
_e、_
B.protected
ac
和_b_C.identifier
j。
在java中访问权限的限制由严
和a
}
E.privateF.operationsG.inheritanee
H.default(nomodifier)
I.encapsulationJ.polymorphism
15.Java方法的参数传递对于基本数据类型如int,byte等,参数传递是c;对
自定义数据类型,参数传递是a。
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.}
17.
A.在不同class中定义的方法
C.方法名必须相同D.
E.参数一定不同F.
18.对于构造方法(constructor)
A.构造方法没有返回类型B.
C.如果我们没有显示定义构造方法,
B.在同一类中定义的方法
返回类型必须相同
参数可以相同
描述正确的有—ac。
构造方法--定是public的方法系统会提供一个缺省的
方法重载(overloading)必须满足bce
D.构造方法不能重载
19.
被继承,显
在java语法中允许b继承,a方法不能被继承,cd
示调用父类型的构造方法是通过调用—e来完成的。
A.constructorB.singleC.methodsD.fieldsE.super
19.请看以下程序:
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
20.程序:
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方法时
21.以下描述正确的有___bcde。
A.abstractclass一定有abstractmethod(s)
B.abstractclass可以没有abstractmethod(s)
C.定义abstractclass的目的是为了被继承
D.inteface中定义的方法全是abstractmethods
E.inteface中定义的变量全部是finalstatic变量
22.一个匿名的内置类有可能abd。
A.继承其他的类B.实现了某一接口
C.定义了构造方法D.可以使用成员变量
23.a又叫做uncheckedexception。
CheckedException通常继承b。
在方法签名上指定可能有异常产生用关键字—e,在程序中产生异常用关键字
—d。
获得异常的简单描述信息调用方法____c—,获得详细的异常栈信息调用方法
f。
A.RuntimeExceptionB.ExceptionC.getMessage
D.throwE.throwsF.printStackTrace
24.在图形编程中,将不同的控件按区域排列用—d布局管理器;让控件自动排列并
保持大小用—c布局管理器;让控件按相同大小排列用—b布局管理器;一次只
有一个控件可见的布局管理器是__a。
A.CardLayoutB.GridLayout
C.FlowLayoutD.BorderLayout
25.图形编程通常按cabd顺序。
A.设置布局管理器(Layoutmanager)B.向容器中增加控件
C.选择容器D.为控件设置事件处理器
26.完成如下代码,按照FlowLayout的布局方式向JFrame中添加一JButton:
JFrameframe=newJFrame(“SimpleGUI”);
FlowLayoutfl=newFlowLayout。
;
frame.setLayout(f1);
JButtonbtn=newJButton("OK);
frame.add(btn);
27.事件处理方式采用了observed观察者)设计模式,事件编程模式三要素是—a、
b禾口c。
其中,b通常继承java.util.EventObject,__c通常继承java.util.EventListener。
A.EventsourceB.Eventobject
C.EventlistenerD.HelperE.Model
28.JButton是b事件的事件源,它通过方法a注册事件侦听器,事件侦
听器必须实现接口c,当事件发生时侦听器的方法e被调用,在此方法中调用
—b的方法—d可以获得事件源。
A.addActionListenerB.ActionEvent
C.ActionListenerD.getSourceE.actionPerformed
29.JFrame的却省布局管理器是__b,JDialog的却省布局管理器是b,JPanel
的却省布局管理器是―a。
A.FlowLayoutB.BorderLayout
C.GridLayoutD.GridBagLayout
30.在swing编程中,用作提示信息的控件是f,作单行文本编辑的控件是
—d,用作多行文本编辑的控件是____a____,可编辑HTML等类型文档的控件是
—e,在界面上显示多条记录并可多重选择的控件是__b,从下拉框中选择记录
的空间是___c。
A.JTextAreaB.JListC.JComboBox
D.JTextFieldE.JEditorPaneF.JLabel
31.创建线程(Thread)的方式有两种,一种是继承类b,另一种是实现接口
__c。
启动线程的方法是—d。
线程启动后运行的是—a里的代码。
A.runB.ThreadC.RunnableD.start
32.完成以下代码创建并启动线程:
publicclassTestThreadimplementsRunnable{publicvoidrun(){
for(inti=0;i<10000;i++)
System.out.println(i);
}
publicstaticvoidmain(String[]args){
TestThreadtt=newTestThread();
Threadt=;
t.;
}
}
33.判断一个线程是否被中断,调用方法__c;中断一个线程,调用方法____a____;
等待一个线程退出,调用方法—b;一个线程放弃执行权利调用方法__d。
A.interruptB.joinC.isInterruptedD.yield
34.并发控制是多线程编程的难点。
一个线程要等待某个条件的满足调用方法—b
通知某一个处于等待状态线程的方法是
a,通知多个的是
d
;处于等待状态的
线程当前调用的方法或程序块用关键字
c来限制。
A.notifyB.wait
C.synchronized
D.notifyAII
35.对原始数据的读写,采用流
a和h,为了提高性能,
采用流f
和i;对各种基本数据类型和
String类型的读与,采用流
b
和d;读
写文本类型采用c
和j
方便读写文本行采用流
e
和k;对象
读写采用流1
和m
。
A.InputStream
B.DataInputStream
C.Reader
D.lnputStreamReader
E.BufferedReader
F.BufferedInputStream
G.DataOutputStream
H.OutputStream
I.BufferedOutputStream
J.Writer
K.PrintWriter
L.ObjectInputStreamM.ObjectOutputStreamN.OutputStreamWriter
36.一个File对象是文件或目录在内存中的表示,File类型中定义了方法__d来判断
一个文件是否存在,定义方法a创建一个新文件,定义方法__c删除一个文件,
定义方法b改变文件名,定义方法f创建一级目录,定义方法e同时
创建一个目录层次。
对原始数据类型文件的操作用文件I/O流h和___k;对文本
文件操作用文件I/O流g和—j;同时对一个文件进行读写操作用文件流
i。
E.mkdirsF.mkdir
G.FileReader
A.createNewFileB.renameToC.deleteD.exists
H.FileInputStreamI.RandomAccessFileJ.FileWriter
K.FileOutputStream
37.创建一个TCP服务程序,该程序运行在port为6868,完成以下代码,实现一个多线
程的服务程序:
ServerSocketss=newServerSocket(6868);
while(true){
SocketclientRequest=ss.accept();
service(clientRequest);
}
38.创建一个tcp客户程序的顺序是___dacbe。
A.获得I/O流
B.关闭I/O流
C.对I/O流进行读写操作
D.建立socket
E.关闭socket
39.创建一个tcp服务程序的顺序是bcadegf。
A.创建一个服务线程处理新的连接
B.创建一个服务器socket
C.从服务器socket接受客户连接请求
D.在服务线程中,从socket中获得I/O流
E.对I/O流进行读写操作,完成与客户的交互
F.关闭socket
G.关闭I/O流
40.可以通过使用URL和URLConnection类型来完成基于HTTP/FTP的远程通讯,完成以下代码读取Tarena网站的首页内容:
URLtarenaFirstPage=newURL("http:
//210.29.0.5").
InputStreamis=tarenaFirstPage.openString();
BufferedReaderbr=__newbufferedReader(is);
Stringline=null;
while((line=br.readLine())!
=null)System.out.println(line);
41.
。
发送和接收信息的方法
JavaUDP编程主要用到的两个类型是b___和___d
是f。
B.
A.UDPSocket
C.UDPPacket
E.read/write
DatagramSocket
D.DatagramPacket
F.send/receive
42.指出下列哪个方法与方法publicvoidadd(inta){}为合理的重载方法。
bcd
Apublicintadd(inta)
Bpublicvoidadd(longa)
Cpublicvoidadd(inta,intb)
Dpublicvoidadd(floata)
43.如果下列的方法能够正常运行,在控制台上将显示什么?
ACD
publicvoidexample(){
try{
unsafe();
System.out.println("Test1");
}
catch(SafeExceptione)
{System.out.println("Test2");}
finally{System.out.println("Test3");}System.out.println("Test4");
}
ATest1
BTest2
CTest3
BCD
DTest4
44.如果下列的方法不能正常运行,在控制台上将显示什么?
publicvoidexample(){
try{
unsafe();System.out.println("Test1");
}catch(SafeExceptione){System.out.println("Test2");}finally{System.out.println("Test3");}System.out.println("Test4");
}
ATest1
BTest2
CTest3
DTest4
45.写出下面程序的运行结果:
Hello!
lloveJAVA.
importjava.io.*;
publicclassabc{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("Hello!
","IloveJAVA.");System.out.println(s.toString());
}
}
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
}
publicStringtoString()
returns1+s2;
{
}
二单选题
1.下列哪个是JDK提供的编译器(B)
A.java.exeB.javac.exeC.javap.exed.javaw.exe
2.下列哪个是Java应用程序主类中正确的main方法(D)
A.publicvoidmain(Stringargs[])
B.staticvoidmain(Stringargs[])
C.publicstaticvoidMain(Stringargs[])
D.publicstaticvoidmain(Stringargs[])
3.下列哪个叙述是正确的(B)
A.Java应用程序由若干个类所构成,这些类必须在一个源文件中.
B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以在若干个源文件
中,其中必须有一个源文件含有主类.
C.Java源文件必须含有主类.
D.Java源文件如果含有主类,主类必须是public类.
4.下列哪个叙述是正确的(D)
A.成员变量的名字不可以和局部变量的名字相同
B.方法的参数的名字可以和方法中声明的局部变量的名字形同
C.成员变量没有默认值.
D.局部变量没有默认值.
5.下列哪些类的声明是错误的(D)
A.classA
B.publicclassA
C.protectedclassA
D.privateclassA
6.下列哪个叙述是正确的(C)
A.子类继承父类的构造方法.
B.abstract类的子类