1、JAVA程序设计期末考试试题 (五)一、 单选题 1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( )。A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。File file1=new File(d:xxxyyyzzz);file1.mkdirs();/生成“d:xxxyyyzzz”的多级目录A)在当前目录下生成子目录:xxxyyyzzz B)生成目录: e:xxxyyyz
2、zzC)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是 ( )。String s = xxxxxxxxxxxxxxx#123#456#zzzzz;int n = s.indexOf(#); int k = s.indexOf(#, n+1);String s2 = s.substring(n+1, k);System.out.println(s2);A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。public class Te
3、st String x=1; int y; public static void main(String args) int z=2; System.out.println(x+y+z); /静态方法只能访问静态成员,而不能访问非静态成员;A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是 ( )。 int b=1, 1, 1, 2,2, 3; int sum=0; for(int i=0; ib.length; i+) for(int j=0; jbi.length; j+) sum+=bij; System.out.println(s
4、um=+sum);A) 10 B)6 C) 9 D) 13 6、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。int x = 125,21,5,168,98;int min = x0;for (int i=1; ix.length; i+)if(xi min)min = xi;System.out.println(min);A) 125 B) 5 C) 98 D) 168 7、应用程序的main方法中有以下语句,则输出的结果是 ( )。Hashtable hashtable=new Hashtable();hashtable.put(100,aaa);hashtable.p
5、ut(200,bbb);hashtable.put(300,ccc); System.out.println(hashtable.get(300).toString()+ hashtable.get(200).toString() + hashtable.get(100).toString(); A) aaa B) bbb C) ccc D) cccbbbaaa 8、以下关于java异常说法不正确的是( )。A) Throwable 类是 Java 语言中Error类和Exception类的父类。/Throwable不是Exception的父类B)当异常对象是Exception类(或其子类)的
6、实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过trycatchfinally处理。/使用throw抛出异常只能是Exception的子类C)如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类。D)以上说法都不对。9、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。import java.io.*;public class Test public stati
7、c void main(String args) try String s=ABCDE;byte b=s.getBytes();FileOutputStream file=new FileOutputStream(test.txt, true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE 10、下面说法不正确的是( )?A)列表(List)、集合(Set)和映射(Map)都是java.
8、util包中的接口。B)List接口是可以包含重复元素的有序集合。C)Set接口是不包含重复元素的集合。D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。/map中的键不能重复,但同一个键下对应的值可以重复;二、多选题1、下面哪些关键字能用来控制对类成员的访问( )?A) public B) protected C) private D) default 2、下面关于Java中异常处理try块的说法正确的是( )?A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后必须有finally块。C)可能抛出异常的方法调用应放在try块中
9、。 D)对抛出的异常的处理必须放在try块中/一般放在catch中3、线程对象的生命周期中,通常经历下面哪些状态( )。A)新建 B)运行 C)就绪 D)死亡 4、定义如下的二维数组b,下面的说法正确的是( )。int b=1, 2, 3, 4, 5,6, 7, 8;A)b.length的值是3。 B)b1.length的值是3。/b1的长度为2C)b11的值是5。 D) 二维数组b的第一行有3个元素 5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是( )。A) B x1= new B( ); B) B x1= new C( ); /抽象类和静态类不能实例化C)
10、C x1=new C( ); D) C x1= new B( );6、下面关于进程、线程的说法正确的是( )。A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程多线程,形成多条执行线索。B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C)Java多线程的运行与平台相关。D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。A)
11、内部类可以直接访问外部类的成员B)外部类可以直接访问内部类的成员C)外部类不能访问内部类的成员/只是外部类不能直接访问内部类罢了D)外部类可通过创建内部类的实例来访问内部类的成员三、程序阅读题1、阅读下面的程序代码,并回答问题(u问3分,v问3分,共6分)。String s1 = new String(abcde);String s2 = new String(abcde); boolean b1= s1.equals(s2);boolean b2 = s1= s2; System.out.print(b1+ +b2); u程序段执行后,在命令行的输出结果如何?/字符串中的equals方法比较
12、的是两个字符串的值,而str1=str2比较的是两个对象的内存和值,也就是比较两个对象是否指向同一个引用,即是否为同一个对象;v解释输出(1)的结果的原因?答案:u true falsevequals方法比较两个字符串的内容是否相等;运算符“=”判断两个对象是否指向同一个引用,即是否为同一个对象。2、阅读下面的程序,并回答问题(u问3分,v问3分,共6分)。import java.io.*;public class Test public static void main(String args) throws IOException BufferedReader buf=new Buffer
13、edReader( new InputStreamReader(System.in); while(true) String str = buf.readLine(); if(str.equals(quit) break; int x=Integer.parseInt(str); System.out.println(x*x); 编译运行上面的程序:u从键盘输入10,回车后输出的结果如何?v从键盘输入exit,回车后程序能正确执行吗?为什么?答案:u100 v不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。3、写出下面的程序编译、运行后的结
14、果(6分)。public class Test public static void main(String args) new Student(Tom, m, 90, 88); new Student(Jack, m, 66, 89); new Student(Mary, f, 76, 86); System.out.println(nametsextchinesetenglish); Student.print(); class Student protected String name; protected char sex; protected int chinese; protect
15、ed int english; protected Student next; static Student list; Student (String name, char sex, int chinese, int english) this.name=name; this.sex=sex; this.chinese=chinese; this.english=english; this.next=list; list=this; static void print() Student friend=list; if (friend=null) System.out.println(The list is empty.); else do System.out.println(friend.toString(); friend=friend.next; while(friend!=null); public String toString() return new String(name+t+sex+t+chinese+t+english); 答案:name sex chinese englishMary f 76 86Jack m 66 89Tom m 90 88第 7 页 共 7 页