《JAVA程序设计》期末考试试题(五)
一、 单选题
1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是(C)。
A)IOExceptionB)RuntimeException
C)InterruptedException D)ClassNotFoundException
2、下面的程序段的功能是(D)。
Filefile1=newFile("d:\\xxx\\yyy\\zzz");
file1.mkdirs();
A)在当前目录下生成子目录:\xxx\yyy\zzzB)生成目录:e:\xxx\yyy\zzz
D)以上说法都不对
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)。
publicclassTest{
Stringx="1";
inty;
publicstaticvoidmain(Stringargs[]){
intz=2;
}
}
A)3B)102C)12D)程序有编译错误
5、应用程序的main方法中有以下语句,则输出的结果是(A)。
intb[][]={{1,1,1},{2,2},{3}};
intsum=0;
for(inti=0;i<b.length;i++){
for(intj=0;j<b[i].length;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<x.length;i++){
if(x[i]<min)
min=x[i];
}
A)125B)5C)98D)168
7、应用程序的main方法中有以下语句,则输出的结果是(D)。
Hashtablehashtable=newHashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
+("200").toString()
+("100").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)以上说法都不对。
9、equals()方法下面的程序创建了一个文件输出流对象,用来向文件中输出数据,假设程序当前目录下不存在文件,编译下面的程序Test.java后,将该程序运行3次,则文件的内容是(D)。
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
try{
Strings="ABCDE";
byteb[]=s.getBytes();
FileOutputStreamfile=newFileOutputStream("",true);
file.write(b);
file.close();
}
catch(IOExceptione){
}
}
}
A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE
10、下面说法不正确的是(D)?
A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。
B)List接口是可以包含重复元素的有序集合。
C)Set接口是不包含重复元素的集合。
D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。
二、多选题
1、下面哪些关键字能用来控制对类成员的访问(ABC)?
A)publicB)protectedC)privateD)default
2、下面关于Java中异常处理try块的说法正确的是(AC)?
A)try块后通常应有一个catch块,用来处理try块中抛出的异常。
B)catch块后必须有finally块。
C)可能抛出异常的方法调用应放在try块中。
D)对抛出的异常的处理必须放在try块中
3、线程对象的生命周期中,通常经历下面哪些状态(ABCD)。
A)新建B)运行C)就绪D)死亡
4、定义如下的二维数组b,下面的说法正确的是(ACD)。
intb[][]={{1,2,3},{4,5},{6,7,8}}};
A)b.length的值是3。 B)b[1].length的值是3。
C)b[1][1]的值是5。 D)二维数组b的第一行有3个元素
5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是(BC)。
A)Bx1=newB();B)Bx1=newC();
C)Cx1=newC();D)Cx1=newB();
6、下面关于进程、线程的说法正确的是(ABCD)。
A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。
C)Java多线程的运行与平台相关。
D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。
7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是(AD)。
A)内部类可以直接访问外部类的成员
B)外部类可以直接访问内部类的成员
C)外部类不能访问内部类的成员
D)外部类可通过创建内部类的实例来访问内部类的成员
三、程序阅读题
1、阅读下面的程序代码,并回答问题(☞问3分,☞问3分,共6分)。
Strings1=newString("abcde");
Strings2=newString("abcde");
booleanb1=s1.equals(s2);
booleanb2=s1==s2;
"+b2);
☞程序段执行后,在命令行的输出结果如何?
☞解释输出(1)的结果的原因?
答案:
☞truefalse
☞equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。
2、阅读下面的程序,并回答问题(☞问3分,☞问3分,共6分)。
importjava.io.*;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderbuf=newBufferedReader(
newInputStreamReader(System.in));
while(true){
adLine();
if(str.equals("quit"))
break;
intx=Integer.parseInt(str);
}
}
}
编译运行上面的程序:
☞从键盘输入10,回车后输出的结果如何?
☞从键盘输入exit,回车后程序能正确执行吗?为什么?
答案:
☞100
☞不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论