XXXXXX大学XXX学院 《Java程序设计》课程期末考试卷 (200x一200x学年第x学期)本科口专科☑ A卷☑B卷和C卷 (考试时间120分钟) 题号 三 四 五总分 分数 一、单选题(本大题共20个小题,每小题1分,共20分) 得分评阅人 () 野 1、编译和运行下面的应用程序,屏幕输出的结果是()。 public class Test public static void main(String args[) A a=new A("aaaaa"); A.Bb=a.new BO); System.out.println(a.outStr+b.inStr); outStr=s; publie class B public String inStr="bbbbb" 》 公置录钱处于休保状签。另个ead类中的emp0方 C)bbb D)aaaaab 法中断它时,抛出的异常类型是( )。 A)IOException 必 C)In 器方法中方法 b)runtimeException 以下是用程中定义的静态方法 用语句printBinary(2),则输出的结果是()。 static void printBinary(int i) System.out.print(i+"的2进制数表示为:t"方 for(intj=3l,j>-0j-) if(1<<)&i)=0) 第1页共13页
XXXXXX 大学 XXX 学院 第 1 页 共 13 页 《Java 程序设计》课程 期末考试卷 (200x—200x 学年 第 x 学期) 本科□ 专科 A 卷 B 卷□ C 卷□ (考试时间 120 分钟) 题号 一 二 三 四 五 总分 分数 一、单选题(本大题共 20 个小题,每小题 1 分,共 20 分) 得分 评阅人 1、编译和运行下面的应用程序,屏幕输出的结果是( )。 public class Test { public static void main(String args[]) { A a=new A("aaaaa"); A.B b=a.new B(); System.out.println(a.outStr+b.inStr); } } class A { String outStr; public A(String s) { outStr=s; } public class B { public String inStr="bbbbb"; } } A) aaaaa B)ababa C) bbbbb D) aaaaabbbbb 2、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方 法中断它时,抛出的异常类型是( )。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 3、以下是应用程序中定义的静态方法 printBinary,若在其 main 方法中有方法调 用语句 printBinary(2),则输出的结果是 ( )。 static void printBinary(int i) { System.out.print(i + "的 2 进制数表示为:\t"); for(int j = 31; j >=0; j--) if(((1 << j) & i) != 0) (密封线内勿答题) 姓名 学号 学院(系) 专业 年级 班(密封线内勿答题)
XXXXXX大学XXX学院 System.out.print("1"); else System.out.print("O"). System.out.printlnO,/换行 A)00000000000000000000000000000001 B)00000000000000000000000000000010 C)00000000000000000000000000001111 D)00000000000000000000000000000000 4、下面语的功能是()。 raf2=new RandomAccessFile("1txt""rw" A)打开当前目录下的文件1xt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.xt,但只能向文件写入数据,不能从文件读取数据 C打开当前目录下的文件1,但不能向文件写入数据,只能从文件读取数据 D)以上说法都不对。 5、下面的程序编译运行后,输出的结果是() public static void main(String]unused) String[]str=("ZZZ","AAA","BBB","CCC"): Arrays.sort(str); int index=Arrays.binarySearch(str,"ZZZ"). System.out.println(index): A)0B)1 C)2 D)3 6、下面的程序段的功能是()。 File filel=new File("d:\xxxllyyylzzz") file1.mkdirs( A)在当前目录下生成子目录: B)生成目录:e xxtyyylzzz C)在当前目录下生成文件xxxyyy.Z2z D)以上说法都不对 7、下面的程序编译运行后输出的结果是()。 public class Test{ public static void main(String args[) x a=new x() public void showX({ System.out.println(a*b); a.showX0): A ↓ classX int a=5 b=3 publie void showX 第2页共13页
XXXXXX 大学 XXX 学院 第 2 页 共 13 页 System.out.print("1"); else System.out.print("0"); System.out.println();//换行 } A) 00000000000000000000000000000001 B) 00000000000000000000000000000010 C) 00000000000000000000000000001111 D) 00000000000000000000000000000000 4、下面语句的功能是( )。 RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); A)打开当前目录下的文件 1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件 1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件 1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。 5、下面的程序编译运行后,输出的结果是( ). import java.util.Arrays; public class Test { public static void main(String[] unused) { String[] str = {"ZZZ", "AAA","BBB","CCC"}; Arrays.sort(str); int index=Arrays.binarySearch(str,"ZZZ"); System.out.println(index); } } A) 0 B) 1 C)2 D)3 6、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录: e:\xxx\yyy\zzz C)在当前目录下生成文件 xxx.yyy.zzz D)以上说法都不对 7、下面的程序编译运行后输出的结果是( )。 public class Test { public static void main(String args[]) { X a=new X( ) { public void showX() { System.out.println(a*b); } }; a.showX(); } } class X { int a=5,b=3; public void showX() {
XXXXXX大学XXX学院 System.out.printIn(a+b): A)15 B)8 C)5 D)3 8、应用程序的main方法中有以下语句,则输出的结果是()。 String S="XXXXXXXXXXXXXXX#123#456#zzzzz": =s.indexOf("#") k=s.indexOf("#"n+1) String s2=s.substring(n+l,k) System.out.println(s2): A)12345 B)123 CXXXXXXXXXXXXXXX D)zzzzz 9、关于下面的程序Test.java说法正确的是()。 public class Test 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)程序有编译错误 10、应用程序的main方法中有以下语句,则输出的结果是()。 double x=8765.12345: System.out.println("x="+forml.format(x)) Ax=8765.12 B)x=8765.12345 C)x=8765.1 D)x=8765.0 1l、应用程序的main方法中有以下语句,则输出的结果是()。 intb00={1,1,1},{2,2},{3} int sum=0 for(int i=0:i<b.length;i++){ for(int j=0j<b[i].length;j++){ sum+=b[i]j]: System.out.println("sum="+sum); A)10 B6 09 D)13 12、下面的程序段执行后输出的结果是()。 String s="Test.java"; boolean b=s.startsWith("test"); System.out.print(b). boolean b1=s.endsWith("java"), System.out.println(b+ +b1方 ,用程的万法中下句则行输出的结巢是( B)true fals C)fal D)fals imt0x={125,21,5,168,98}: int min=x[0]: 第3顶共13页
XXXXXX 大学 XXX 学院 第 3 页 共 13 页 System.out.println(a+b); } } A) 15 B) 8 C) 5 D) 3 8、应用程序的 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 9、关于下面的程序 Test.java 说法正确的是( )。 public class Test { 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)程序有编译错误 10、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 double x=8765.12345; DecimalFormat form1 = new DecimalFormat("0000.00"); System.out.println("x="+form1.format(x)); A)x=8765.12 B)x=8765.12345 C)x=8765.1 D)x=8765.0 11、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 int b[][]={{1, 1, 1}, {2,2}, {3}}; int sum=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { sum+=b[i][j]; } } System.out.println("sum="+sum); A) 10 B)6 C) 9 D) 13 12、下面的程序段执行后输出的结果是( )。 String s="Test.java"; boolean b=s.startsWith("test"); System.out.print(b); boolean b1=s.endsWith("java"); System.out.println(b+" "+b1); A) true true B) true false C) false true D) false false 13、应用程序的 main 方法中有以下语句,则执行后输出的结果是 ( )。 int[] x={125,21,5,168,98}; int min=x[0];
XXXXXX大学XXX学院 for(int i=1.i<x.length;i++){ if(x[i]<min) min=x1: System.out.println(min); A)125 B)5 C)98 D)168 14、应用程序的main方法中有以下语句, 则输出的结果是()。 Hashtable hashtab e=new Hashtable(. hashtable.put(100","aaa). hashtable put("200""bbb) hashtable put("300""ccc") hashtab le.get(200).toString() hashtable.get(100).toString()) A)aaa B)bbb C)ccc D)cccbbbaaa 15、下面程序段执行后b的值是(). String str="java"; boolean b=str instanceof Object: A)0 B)true D)fal 16、以下关于java异常说法不正确的是()。 A)Throwable类是Java语言中Error类和Exception类的父类。 B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者 throw语句抛出该异常对象,并能通过ty..catch..finally处理。 C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所 有异常对象的父类 D)以上说法都不对。 I7、应用程序Test.java的源程序如下,在命令行键入: 则输出的结果是ub6cd a Test eeeee public class Test public static void main(String args[]) int kl=args.length: int k2= args[2].length( System.out.print(k1+ "+k2) A)32 B)52 C)53 D)55 18、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据, 假设程序当前目录下不存在文件test.tt,编译下面的程序Tet.java后,将该程序 运行3次,则文件test.txt的内容是()。 mport java.lo.◆: public class Test public static void main(String args try 第4页共13页
XXXXXX 大学 XXX 学院 第 4 页 共 13 页 for(int i=1;i<x.length;i++){ if(x[i]<min) min=x[i]; } System.out.println(min); A) 125 B) 5 C) 98 D) 168 14、应用程序的 main 方法中有以下语句,则输出的结果是 ( )。 Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa"); hashtable.put("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 15、下面程序段执行后 b 的值是( )。 String str = "java"; boolean b = str instanceof Object; A) 0 B) true C) 1 D) false 16、以下关于 java 异常说法不正确的是( )。 A)Throwable 类是 Java 语言中 Error 类和 Exception 类的父类。 B)当异常对象是 Exception 类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过 try…catch…finally 处理。 C)如果只用一个 catch 块捕捉多个异常对象,则 catch 子句中的参数类型应是所 有异常对象的父类。 D)以上说法都不对。 17、应用程序 Test.java 的源程序如下,在命令行键入: java Test aaa bb cc ddd eeeee 则输出的结果是 ( )。 public class Test { public static void main(String args[]) { int k1=args.length; int k2=args[2].length(); System.out.print(k1+" "+k2); } } A)3 2 B)5 2 C) 5 3 D) 5 5 18、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据, 假设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序 运行 3 次,则文件 test.txt 的内容是( )。 import java.io.*; public class Test { public static void main(String args[]) { try {
XXXXXX大学XXX学院 String s="ABCDE"; file.write(b): file.close() catch(IOExceptione) System.out.println(e.toString(). A)ABCABC B)ABCDE C)Test DABCDE ABCDE ABCDE 19、下面那些方法不是接口Collection中己声明的方法()? A)添加元素的add(Object ob)方法 B)删除元素的removet(Object obj)方法 C)得到元素个数的length()方法 D)返回迭代器的iterator()方法,迭代器用于元素遍历 20、下面说法不正确的是()? A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。 B)List接口是可以包含 重复元素的有序集合 C)Set接口是不包含重复元素的集合。 D)Ma即接口将键映射到值,键可以重复,但每个键最多只能映射一个值。 二、多选题(本大题共10个小题,每小题2分,共20分) 得分评阅人 21、下面哪些关键字能用来控制对类成员的访问()? A)public B)protected C)private Ddefault 22、阅读、编译、运行下面的程序,正确的选项是() public class Test{ public static void main (String args) Test a=new Testo: a method(8) a.method(8f) void method(double i) System.out.println("double:"+i); void method(int i) System.out.println("int:"i) A)程序有编译错误,因为两个method(0方法必须定义为静态(static)的。 第5顶共13页
XXXXXX 大学 XXX 学院 第 5 页 共 13 页 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) ABCDEABCDEABCDE 19、下面那些方法不是接口 Collection 中已声明的方法( )? A)添加元素的 add(Object obj) 方法 B)删除元素的 remove(Object obj)方法 C)得到元素个数的 length()方法 D)返回迭代器的 iterator()方法,迭代器用于元素遍历 20、下面说法不正确的是( )? A)列表(List)、集合(Set)和映射(Map)都是 java.util 包中的接口。 B)List 接口是可以包含重复元素的有序集合。 C)Set 接口是不包含重复元素的集合。 D)Map 接口将键映射到值,键可以重复,但每个键最多只能映射一个值。 二、多选题(本大题共 10 个小题,每小题 2 分,共 20 分) 得分 评阅人 21、下面哪些关键字能用来控制对类成员的访问( )? A)public B)protected C)private D)default 22、阅读、编译、运行下面的程序,正确的选项是( ). public class Test { public static void main (String[] args){ Test a=new Test(); a.method(8); a.method(8f); } void method(double i) { System.out.println("double: "+i); } void method(int i) { System.out.println("int: "+i); } } A)程序有编译错误,因为两个 method()方法必须定义为静态(static)的