《Java 程序设计案例教程试卷B.doc》由会员分享,可在线阅读,更多相关《Java 程序设计案例教程试卷B.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、装订班 级学 号姓 名Java 程序设计案例教程期末试卷B题号一二三四得分一、单项选择题(每个题只有一个正确答案。每题2分,共30分)1.下列程序段执行后的结果是( )。 String s = new String(abcdefg);for (int i=0; is.length(); i+=2) System.out.print(s.charAt(i); A. aceg B. ACEG C. abcdefg D. abcd 2.有整型数组:int x=12,35,8,7,2;,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).A. 2 7 8 12 35 B. 12 3
2、5 8 7 2 C. 35 12 8 7 2 D. 8 7 12 35 23.下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。File f = new File(填代码处);file =new FileReader(f);in=new BufferedReader(file);A. ./1.txt B. ./my/1.txt C. c:my1.txt D. c: my1.txt 4.应用程序的main方法中有以下语句,则输出的结果是 ( )。 String s1=new String(
3、abc); String s2=new String(abc); boolean b1=s1.equals(s2); boolean b2=(s1=s2); System.out.print(b1+ +b2); A.true false B. false true C. true true D.false false 5.应用程序的main方法中有以下语句,则输出的结果是 ( )。 Hashtable hashtable=new Hashtable(); hashtable.put(x,12345); hashtable.put(y,67890); hashtable.put(a,abcde)
4、; System.out.println(hashtable.get(a); A. a B. abcde C. 12345 D. 67890 6.下面语句的功能是( )。RandomAccessFile raf2 = new RandomAccessFile(1.txt,rw ); A.打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B.打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。C.打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。D. 以上说法都不对。 7.应用程序的main方法中有以下语句,则输出的结果是 (
5、 )。String s=12345#aaa#bbb#67890;int n=s.indexOf(#); int k=s.indexOf(#,n+1);int m=s.indexOf(#,k+1);String s2=s.substring(m+1);System.out.println(s2);A. 123456 B. 67890 C. aaa D. bbb 8.下面程序段执行后b的值是( )。Integer integ =new Integer(9); boolean b = integ instanceof Object; A. 9 B. true C. 1 D. false9.应用程序T
6、est.java的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是 ( )。public class Test public static void main(String args) int k1=args.length; int k2=args1.length(); System.out.print(k1+ +k2); A. 3 2 B.1 2 C. 1 3 D. 3 3 10.应用程序的main方法中有以下语句,则输出的结果是 ( )。 int b=1, 2,2, 2,2,2; int sum=0; for(int i=0;ib.length;i+) fo
7、r(int j=0;jbi.length;j+) sum*=bij; System.out.println(sum=+sum);A. 32 B.11 C. 2 D. 3 11.应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。int x=125,21,5,168,98;int max=x0;for(int i=1;i max)max =xi;System.out.println(max);A. 125 B. 5 C. 98 D. 168 12.程序Test.java编译运行后输出的结果是( )。public class Test String s1=java; public s
8、tatic void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A. java2 B.2 C.没有输出结果 D.java 13.应用程序的main方法中有以下语句,则输出的结果是 ( )。String s1=0.5, s2=12; double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y);A. 12.5 B. 120.5 C. 12 D. “12.5” 14.下面的程序创建了一个
9、文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。import java.io.*;public class Test public static 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(
10、IOException e) System.out.println(e.toString();A. ABCABC B. ABCDE C. Test D. ABCDE ABCDE ABCDE 15.下面那些方法不是接口Collection中已声明的方法( )?A.添加元素的add(Object obj) 方法B.删除元素的remove(Object obj)方法C.得到元素个数的length()方法D.返回迭代器的iterator()方法,迭代器用于元素遍历二、多选题(每题2分,共20分)1.下面main()方法的定义哪些是正确的( )?A. public static void main(St
11、ring args) B. public static void main(String) C. public static void main(String args) D.public static void main(String x) 2.线程对象的生命周期中,通常经历下面哪些状态( )。A.新建 B.运行 C.就绪 D.死亡 3.下面说法正确的是( )。A. final 可修饰类、属性(变量)、方法。 B. abstract可修饰类、方法。C. 抽象方法只有方法头,没有方法体。 D. 关键字final和abstract不能同时使用。 4.下面关于java中输入/输出流的说法正确的是(
12、 )。A. FileInputStream与FileOutputStream类用读、写字节流。 B. Reader与Writer类用来读、写字符流。C. RandomAccessFile既可以用来读文件,也可以用来写文件。 D. File类用来处理与文件相关的操作。5.下面说法正确的是( )。A.如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。B.如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。C.如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。D.接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 6.
13、下面关于Java中异常处理try块的说法正确的是( )。A. try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B. catch 块后必须有finally块。C.可能抛出异常的方法调用应放在try块中。 D.对抛出的异常的处理必须放在try块中7.下面关于进程、线程的说法正确的是( )。A.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程多线程,形成多条执行线索。B.线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C.Java多线程的运行与平台相关。D.对于单处理器系
14、统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。8.关于BufferedReader类的readLine()方法,以下说法正确的是()。A.方法readLine()每次读取一行数据。 B.方法readLine()每次读取一个字节。C.该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。D.如果读到流的末尾,该方法返回的结果为null。8、下面main()方法的定义哪些是正确的( )?A. public static void main(String args) B
15、. public static void main(String) C. public static void main(String args) D.public static void main(String x) 9.下面关于进程、线程的说法正确的是( )。A.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程多线程,形成多条执行线索。B.线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。C.Java多线程的运行与平台相关。D.对于单处理器系统,多个线程分时间片获取CPU或其他系统资源
16、来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。10.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。A.内部类可以直接访问外部类的成员B.外部类可以直接访问内部类的成员C.外部类不能访问内部类的成员D.外部类可通过创建内部类的实例来访问内部类的成员三、填空题(每小题2分,共30分)1定义类的保留字是 ,定义接口的保留字是 。2Socket通常也称为 ,用于描述 和 。 3线程的优先级在 至 之间,数值越大 。4、10、异常处理是由 、 和 块三个关键所组成的程序块。5Java语言只允许单继承,指每个类只能有一个 。6Java源程序的扩展名是(
17、 .java ),经过编译后的程序的扩展名是 。7、在Java中定义一个字符串类型的变量str的语句是: ,定义一个具有10个元素的整型数组a的语句是: 四、程序填空题(每题5分,共20分)1.写出程序的输出结果。public class Sumpublic static void main(String args)int j=10;System.out.println(j is : +j);calculate(j);System.out.println(At last, j is : +j);static void calculate (int j)for (int i = 0;i10;i+
18、)j+;System.out.println(j in calculate() is: +j);输出结果为:j is : (1) j in calculate() is : (2)At last j is : (3)2. 按要求填空。abstract class SuperAbstractvoid a()abstract void b();abstract int c(int i);interface AsSupervoid x();abstract class SubAbstract extends SuperAbstract implements AsSuperpublic void b(
19、)abstract String f();public class InheritAbstract extends SubAbstractpublic void x()public int c(int i ) public String f()public static void main(String args)InheritAbstract instance=new InheritAbstract();instance.x();instance.a();instance.b();instance.c(100);System.out.println(instance.f(); 在以上这段程序
20、中:抽象类有:SuperAbstract和(1)(写出类名)非抽象类有:(2)(写出类名)接口有:(3)(写出接口名)AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)3. 按注释完成程序。public class Leaf private int i = 0; /此属性值用于检验Leaf increment() /定义方法increment(),返回值是Leaf类的对象i+;return (1) ;/将当前对象的地址作为返回值返回void print() System.out.println( i = + i);public static vo
21、id main(String args)Leaf x = (2); /创建Leaf类的对象xx.increment().increment().increment().print();/多次调用方法increment(),返回的都是x的地址,i 值表示调用次数输出结果为 i = (3) 4.按注释提示完成文件复制的程序。 /FileStream源代码如下: import java.io.*; class FileStream public static void main(String args ) try File inFile = new File(file1.txt);/指定源文件 File outFile = new File(file2.txt);/指定目标文件 FileInputStream fis =(1); FileOutputStream fos = new FileOutputStream(outFile); int c; /逐字节从源文件中输入,再输出到fos流while (c = fis.read ()!=-1) (2); fis.close(); fos.close();catch (Exception e) System.out.println(FileStreamsTest: +e); 线第5页,共5页