java期末复习题(解答)

一、选择题

1、下列叙述中,正确的是(C)

A)线程与进程在概念上是不相关的 B)一个线程可包含多个进程 C)一个进程可包含多个线程 D)Java中的线程没有优先级

2、下列Java源程序结构中前三种语句的次序,正确的是(D )

A)import,package,public class B)import必为首,其他不限 C)public class,package,import D)package,import,public class

3、如果使用Thread t=new Test()语句创建一个线程,则下列叙述正确的 是(B )

A)Test类一定要实现Runnable接口 B)Test类一定是Thread类的子类 C)Test类一定是Runnable的子类

D)Test类一定是继承Thread类并且实现Runnable接口 4、下列关键字中可以表示类不能被继承的是 ( A ) A)final B)default C)private D)transient 5、阅读下面程序

public class Test implements Runnable {

public static void main(String[] args) { _______________________ t.start(); }

public void run() {

System.out.println(“Hello”); }

在程序下划线出填入正确选项是( C ) A)Test t=new Test(); B)Thread t=new Thread();

C)Thread t=new Thread(new Test()); D)Test t=new Thread();

6、下列方法中可用于定义线程体的是( C ) A)start() B)init() C)run() D)main()

7、Java语言能做到“编写一次,随处可用”,是指Java语言具有( B ) A.很高的通用性 B. 可移植性 C. 解释特性 D. 很高的安全性 8、下列标识符合法的是 ( A )

A. _bill_1

B. @email

C. 486_CPU D. !_not

9、在创建数组时,下列创建的方法中合法的是( B )

A.int a[ ] [ ] = new a[10][5] B. int a[ ] = new int[10 ] C. int [ ]a = new a[10 ] D. int a[ ] = new a[10 ]

10、在一个类中定义的成员变量和成员方法时,不允许( D )

A. 成员方法中的参数与成员变量名相同 B. 两个成员方法名相同

C. 成员变量与成员方法名相同 D. 两个成员变量名相同

11、下列语句中,可以作为无限循环语句的是( A )

A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 12、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg” B)“abc”+’efg’ C)‘a’+’b’ D)3+”4”

13、在多线程并发程序设计中,能够给对象x加锁的语句是 ( D ) A)x.wait( ) B)synchronized(x) C)x.notify( ) D)x.synchronized( ) 14、接口中,除了抽象方法之外,还可以含有( B ) A)变量 B)常量 C)成员方法 D)构造方法

15、StringBuffer类字符串对象的长度是( C ) A)固定 B)必须小于16个字符 C)可变 D)必须大于16个字符

16、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法 B)减少父类方法 C)减少父类变量 D)添加方法

17、继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码 ( B ) A)可读性好 B)可重用 C)可跨包访问 D)运行更安全

18、使用DriverManager类的( A )方法连接数据库 A)getConnection() B)forName

C)join() D)creatConnection()

19、在Java网络编程中,要获取本机的地址可以使用InetAddress类的 ( B )方法。

A)getHostName() B)getLocalHost() C)getByName() D)getHostAddress() 20、用来向数据库DBMS发送SQL的JDBC类是( A ) A)Statement B)Connection

C)DriverManager D)ResultSet

21、自定义异常类的父类可以是( C )

A)Error B)VirtuaMachineError C)Exception D)Thread

22、下列语句用来实现数据库操作的正确顺序为( B )。

(1)Connection con=DriverManager.getConnection(url,””,””); (2)ResultSet rs=stmt.executeQuery(“select * from users”); (3)Statement stmt=con.creatStatement();

(4)Class.forNmae(“sun.jdbc.odbc.jdbcOdbcDriver”);

A)(1)(2)(3)(4) C)(4)(3)(1)(2)

B)(4)(1)(3)(2) D)(1)(3)(2)(4)

23、在基于Socket的C/S通信中,服务器端监听客户端请求可以使用 ServerSocket类的( C )方法

A)getPort() B)getInputStream() C)accept() D)close() 24、使新创建的线程参与运行调度的方法是( B ) A)run() B)start() C)init() D)resume()

25、一个子类继承父类,子类不可以继承父类中访问权限设定为( A )

变量和方法。

B. 未修饰 D. protected

A. private C. public

26、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。

27、下列哪些语句关于JAVA中内存回收的说明是正确的? ( B )

A.try子句 C.finally子句

B.catch子句 D.throw子句

A.程序员必须创建一个线程来释放内存 B.垃圾回收器负责释放无用内存

C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象

28、下列运算符合法的是____。

A. && B. <> C. if D. :=

29、下列哪一种叙述是正确的____。

A. abstract修饰符可修饰字段、方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无 D. 声明抽象方法不可写出大括号

30、当某一线程正处于休眠状态,而另一个线程用interrupt() 方法中断它时,抛出的异常类型是______。

A. IOException B. RuntimeException C. InterruptedException D. ClassNotFoundException

31、下列语句序列执行后,num的值是____。 Random rd1=new Random();

int num=Math.abs(rd.nextInt())%4+1;

A. 1~4之间的随机值 B. 0~3之间的随机值 C. 0 D. 4

32、_________关键字可以对对象加互斥锁。

A. transient B. synchronized

(A )

( D )

Thread 类中的 ( C )

( A )

( B )

C. serialize D. static

二、填空题

1、Java中的线程体是由线程类的 run() 方法进行定义的,线程运行也是从该方法开始执行。

2、类的实例变量在___创建对象_____________时候会被分配内存空间。 3、在Java中若定义抽象类则需要加关键字 abstract 来修饰。 4、按照Java中的命名约定,方法名的起始字母一般都是小写,但是_构 造__ 方法例外。

5、java接口内的方法都是公共的、 抽象 的,实现接口就要实现接 口内的所有方法。

6、 类 是java程序的基本单元。

7、一个线程执行完run方法后,进入___死亡________状态。 8、接口中能定义抽象方法和___常量_________。 9、在Java中,所有的类都是通过直接或间接地继承 _Object__父类得到的。 10、创建一个名为 MyPackage 的包的语句是_package MyPackage________,该语句应该放在程序的位置为程序第一句。

11、Java中布尔类型的变量值有 ____true_____ 和false 。 12、父类的final方法____不可以_________被子类重写。 13、下列程序输出结果是_____工作顺利__________。 class Cry {

public void cry() {

System.out.println(“大家好“); } }

public E {

public static void main(String args[]) { Cry hello=new Cry() {

public void cry () {

System.out.println(“工作顺利”); } };

hello.cry(); } }

14、下列程序输出结果是__你好fine thanks _____________。 public class E {

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4