《JA V A语言程序设计》期末考试试题及答案一、单选题1、下列程序段执行后的结果是( A )。
String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2){System.out.print(s.charAt(i));}A) aceg B) ACEG C) abcdefg D) abcd2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( A ).A) 2 7 8 12 35 B) 12 35 8 7 2C) 35 12 8 7 2 D) 8 7 12 35 23、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。
File构造函数中正确的路径和文件名的表示是( C )。
File f = new File(填代码处);file =new FileReader(f);in=new BufferedReader(file);A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt"4、应用程序的main方法中有以下语句,则输出的结果是( A )。
String s1=new String("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 false5、应用程序的main方法中有以下语句,则输出的结果是( B )。
Hashtable hashtable=new Hashtable();hashtable.put("x","12345");hashtable.put("y","67890");hashtable.put("a","abcde");System.out.println(hashtable.get("a"));A) a B) abcde C) 12345 D) 678906、下面语句的功能是( A )。
RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" );A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。
D) 以上说法都不对。
7、应用程序的main方法中有以下语句,则输出的结果是( B )。
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) bbb8、下面程序段执行后b的值是( B )。
Integer integ =new Integer(9);boolean b = integ instanceof Object;A) 9 B) true C) 1 D) false9、应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是( A )。
public class Test {public static void main(String args[]) {int k1=args.length;int k2=args[1].length();System.out.print(k1+" "+k2);}}A) 3 2 B)1 2 C) 1 3 D) 3 310、应用程序的main方法中有以下语句,则输出的结果是( A )。
int b[][]={{1}, {2,2}, {2,2,2}};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) 32 B)11 C) 2 D) 311、应用程序的main方法中有以下语句,则执行后输出的结果是( D )。
int[] x={125,21,5,168,98};int max=x[0];for(int i=1;i<x.length;i++){if(x[i]> max)max =x[i];}System.out.println(max);A) 125 B) 5 C) 98 D) 16812、程序Test.java编译运行后输出的结果是( A )。
public class Test {String s1="java";public static void main(String args[]) {int z=2;Test t=new Test();System.out.println(t.s1+z);}}A) java2 B)2 C)没有输出结果D)java13、应用程序的main方法中有以下语句,则输出的结果是( A)。
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、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( D)。
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(IOException e) {System.out.println(e.toString());}}}A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE15、下面那些方法不是接口Collection中已声明的方法( C )?A)添加元素的add(Object obj) 方法B)删除元素的remove(Object obj)方法C)得到元素个数的length()方法D)返回迭代器的iterator()方法,迭代器用于元素遍历二、多选题1、下面main()方法的定义哪些是正确的( ACD )?A) public static void main(String args[]) {} B) public static void main(String[]) {} C) public static void main(String[] args) {} D)public static void main(String [] x) {}2、线程对象的生命周期中,通常经历下面哪些状态(ABCD )。
A)新建B)运行C)就绪D)死亡3、下面说法正确的是( ABCD )。
A) final 可修饰类、属性(变量)、方法。
B) abstract可修饰类、方法。
C) 抽象方法只有方法头,没有方法体。
D) 关键字final和abstract不能同时使用。
4、下面关于java中输入/输出流的说法正确的是( ABCD)。
A) FileInputStream与FileOutputStream类用读、写字节流。
B) Reader与Writer类用来读、写字符流。
C) RandomAccessFile既可以用来读文件,也可以用来写文件。
D) File类用来处理与文件相关的操作。
5、下面说法正确的是( ABCD)。
A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。
B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。
C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。
D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。
6、下面关于Java中异常处理try块的说法正确的是( AC )?A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。
B) catch 块后必须有finally块。
C)可能抛出异常的方法调用应放在try块中。
D)对抛出的异常的处理必须放在try块中7、下面关于进程、线程的说法正确的是( ABCD )。
A)进程是程序的一次动态执行过程。
一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。
B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。
线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。
C)Java多线程的运行与平台相关。
D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。
对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。
8、关于BufferedReader类的readLine()方法,以下说法正确的是ACD()。