JAVA考试试题Word格式文档下载.docx
《JAVA考试试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA考试试题Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
South"
D、b.add(p,"
9、声明并创建一个按钮对象b,应该使用的语句是(A)
A、Buttonb=newButton();
B、buttonb=newbutton();
C、Buttonb=newb();
D、b.setLabel(“确定”);
10、Frame对象默认的布局管理器是(B)
A、FlowLayoutB、BorderLayout
C、CardLayoutD、null
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象(C)
A、importjava.sql.*;
B、importjava.util.*;
C、importjava.io.*;
D、import.*;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类(D)
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(A)
A、FileInputStreamB、FileOutputStream
C、DataOutputStreamD、FileWriter
《JAVA语言程序设计》期末考试试题及答案4(应考必备题库)
一、单选题
1、下列程序段执行后的结果是(A)。
Strings=newString("
abcdefg"
for(inti=0;
i<
s.length();
i+=2){
System.out.print(s.charAt(i));
}
A)acegB)ACEGC)abcdefgD)abcd
2、有整型数组:
int[]x={12,35,8,7,2};
则调用方法Arrays.sort(x)后,数组x中的元素值依次是(A).
A)2781235B)1235872
C)3512872D)8712352
3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。
File构造函数中正确的路径和文件名的表示是(C)。
Filef=newFile(填代码处);
file=newFileReader(f);
in=newBufferedReader(file);
A)"
./1.txt"
B)"
../my/1.txt"
C)"
c:
\\my\\1.txt"
D)"
\my\1.txt"
4、应用程序的main方法中有以下语句,则输出的结果是(A)。
Strings1=newString("
abc"
Strings2=newString("
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+"
"
+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
5、应用程序的main方法中有以下语句,则输出的结果是(B)。
Hashtablehashtable=newHashtable();
hashtable.put("
x"
"
12345"
y"
67890"
a"
abcde"
System.out.println(hashtable.get("
));
A)aB)abcdeC)12345D)67890
6、下面语句的功能是(A)。
RandomAccessFileraf2=newRandomAccessFile("
1.txt"
rw"
);
A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D)以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是(B)。
Strings="
12345#aaa#bbb#67890"
intn=s.indexOf("
#"
intk=s.indexOf("
n+1);
intm=s.indexOf("
k+1);
Strings2=s.substring(m+1);
System.out.println(s2);
A)123456B)67890C)aaaD)bbb
8、下面程序段执行后b的值是(B)。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
9、应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是(A)。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+"
+k2);
}
A)32B)12C)13D)33
10、应用程序的main方法中有以下语句,则输出的结果是(A)。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;
i<
b.length;
i++){
for(intj=0;
j<
b[i].length;
j++){
sum*=b[i][j];
System.out.println("
sum="
+sum);
A)32B)11C)2D)3
11、应用程序的main方法中有以下语句,则执行后输出的结果是(D)。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;
x.length;
i++){
if(x[i]>
max)
max=x[i];
}
System.out.println(max);
A)125B)5C)98D)168
12、程序Test.java编译运行后输出的结果是(A)。
Strings1="
java"
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
A)java2B)2C)没有输出结果D)java
13、应用程序的main方法中有以下语句,则输出的结果是(A)。
Strings1="
0.5"
s2="
12"
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5B)120.5C)12D)“12.5”
14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是(D)。
importjava.io.*;
try{
Strings="
ABCDE"
byteb[]=s.getBytes();
FileOutputStreamfile=newFileOutputStream("
test.txt"
true);
file.write(b);
file.close();
}
catch(IOExceptione){
System.out.println(e.toString());
A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE
15、下面那些方法不是接口Collection中已声明的方法(C)?
A)添加元素的add(Objectobj)方法
B)删除元素的remove(Objectobj)方法
C)得到元素个数的length()方法
D)返回迭代器的iterator()方法,迭代器用于元素遍历
《JAVA程序设计》期末考试试题(五)
二、单选题
1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是(C)。
A)IOExceptionB)RuntimeException
C)InterruptedExceptionD)ClassNotFoundException
2、下面的程序段的功能是(D)。
Filefile1=newFile("
d:
\\xxx\\yyy\\zzz"
file1.mkdirs();
A)在当前目录下生成子目录:
\xxx\yyy\zzzB)生成目录:
e:
\xxx\yyy\zzz
C)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对
3、应用程序的main方法中有以下语句,则输出的结果是(B)。
Strings="
xxxxxxxxxxxxxxx#123#456#zzzzz"
intn=s.indexOf("
intk=s.indexOf("
n+1);
Strings2=s.substring(n+1,k);
A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz
4、关于下面的程序Test.java说法正确的是(D)。
Stringx="
1"
inty;
System.out.println(x+y+z);
A)3B)102C)12D)程序有编译错误
5、应用程序的main方法中有以下语句,则输出的结果是(A)。
intb[][]={{1,1,1},{2,2},{3}};
i++){
j<
j++){
sum+=b[i][j];
A)10B)6C)9D)13
6、应用程序的main方法中有以下语句,则执行后输出的结果是(B)。
int[]x={125,21,5,168,98};
intmin=x[0];
for(inti=1;
i++){
if(x[i]<
min)
min=x[i];
System.out.println(min);
A)125B)5C)98D)168
7、应用程序的main方法中有以下语句,则输出的结果是(D)。
Hashtablehashtable=newHashtable();
hashtable.put("
100"
aaa"
200"
bbb"
300"
ccc"
System.out.println(hashtable.get("
).toString()
+hashtable.get("
+hashtable.get("
).toString());
A)aaaB)bbbC)cccD)cccbbbaaa
8、以下关于java异常说法不正确的是(D)。
A)Throwable类是Java语言中Error类和Exception类的父类。
B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。
C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。
D)以上说法都不对。
10、下面说法不正确的是(D)?
A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。
B)List接口是可以包含重复元素的有序集合。
C)Set接口是不包含重复元素的集合。
D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。
三.简答题
1.
Java语言的特点。
答:
简单性:
Java风格类似于C++,但它摒弃了C++中容易引起程序错误的地方
面向对象:
Java语言的设计是完全面向对象
分布式:
解释执行:
健壮性:
Java提供自动垃圾回收机制,异常处理机制,进行严格的类型检查
平台无关性:
安全性
多线程
动态性
2.
请描述AWT事件模型。
结合AWT事件模型并举例来说:
importjava.awt.event.*;
1.监听对象必须实现对应事件监听器的接口
classMyFirstFrameextendsFrameimplementsActionListener
{...}
2.明确事件监听器的接口形式
publicvoidactionPerformed(ActionEventevent){…}
3.MyFirstFrame类必须实现接口ActionListener中的所有方法。
4.注册监听对象.
为了把MyFirstFrame对象注册为两个按钮的事件监听对象,必须在MyFirstFrame
的构造函数中添加语句如下:
cancelButton.addActionListener(this);
okButton.addActionListener(this);
3.
在Java中,怎样创建一个线程?
1、定义类来实现Runnable接口
classTestThreadimplementsRunnable{
publicvoidrun(){…}
2、继承Thread类来实现
classTestThreadextendsThread{
TestThread(Stringname){
super(name);
start();
publicvoidrun(){…}
四、简答题
1、简述Java中异常处理的机制?
首先Java的异常是面向对象的。
一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。
Java的异常处理是通过5个关键词来实现的:
try,catch,throw,throws和finally。
1.异常处理:
在Java语言的错误处理结构由try,catch,finally三个块组成。
其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;
catch块紧跟在try块后面,用来激发被捕获的异常;
finally块包含清除程序没有释放的资源,句柄等。
不管try块中的代码如何退出,都将执行finally块。
2.抛出异常:
Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。
Throw语句就是来明确地抛出一个异常;
首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。
2、什么是继承?
通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。
3、请简述重载和重写的区别?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型。
三、程序填空题
1.publicclassSum{
publicstaticvoidmain(String[]args){
intj=10;
System.out.println("
jis:
+j);
calculate(j);
Atlast,jis:
staticvoidcalculate(intj){
for(inti=0;
10;
i++)
j++;
jincalculate()is:
输出结果为:
(1)
jincalculate()is:
(2)
Atlastjis:
(3)
答案:
(1)10;
(2)20;
(3)10。
2.按要求填空
abstractclassSuperAbstract{
voida(){…}
abstractvoidb();
abstractintc(inti);
interfaceAsSuper
{
voidx();
abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper
publicvoidb(){…}
abstractStringf();
publicclassInheritAbstractextendsSubAbstract{
publicvoidx(){…}
publicintc(inti){…}
publicStringf(){…}
publicstaticvoidmain(Stringargs[]){
InheritAbstractinstance=newInheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
在以上这段程序中:
抽象类有:
SuperAbstract和
(1) (写出类名)
非抽象类有:
(2) (写出类名)
接口有:
(3) (写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)
(1)SuperAbstract;
(2)InheritAbstract;
(3)AsSuper;
(4)抽象;
(5)覆盖和实现。
3.按注释完成程序
publicclassLeaf{
privateinti=0;
//此属性值用于检验
Leafincrement(){//定义方法increment(),返回值是Leaf类的对象
i++;
return
(1);
//将当前对象的地址作为返回值返回
voidprint(){
i="
+i);
publicstaticvoidmain(Stringar