java期末复习题解答.docx

上传人:b****6 文档编号:13803536 上传时间:2023-06-17 格式:DOCX 页数:19 大小:29.50KB
下载 相关 举报
java期末复习题解答.docx_第1页
第1页 / 共19页
java期末复习题解答.docx_第2页
第2页 / 共19页
java期末复习题解答.docx_第3页
第3页 / 共19页
java期末复习题解答.docx_第4页
第4页 / 共19页
java期末复习题解答.docx_第5页
第5页 / 共19页
java期末复习题解答.docx_第6页
第6页 / 共19页
java期末复习题解答.docx_第7页
第7页 / 共19页
java期末复习题解答.docx_第8页
第8页 / 共19页
java期末复习题解答.docx_第9页
第9页 / 共19页
java期末复习题解答.docx_第10页
第10页 / 共19页
java期末复习题解答.docx_第11页
第11页 / 共19页
java期末复习题解答.docx_第12页
第12页 / 共19页
java期末复习题解答.docx_第13页
第13页 / 共19页
java期末复习题解答.docx_第14页
第14页 / 共19页
java期末复习题解答.docx_第15页
第15页 / 共19页
java期末复习题解答.docx_第16页
第16页 / 共19页
java期末复习题解答.docx_第17页
第17页 / 共19页
java期末复习题解答.docx_第18页
第18页 / 共19页
java期末复习题解答.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java期末复习题解答.docx

《java期末复习题解答.docx》由会员分享,可在线阅读,更多相关《java期末复习题解答.docx(19页珍藏版)》请在冰点文库上搜索。

java期末复习题解答.docx

java期末复习题解答

一、选择题

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

A)线程与进程在概念上是不相关的

B)一个线程可包含多个进程

C)一个进程可包含多个线程

D)Java中的线程没有优先级

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

A)import,package,publicclass

B)import必为首,其他不限

C)publicclass,package,import

D)package,import,publicclass

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

A)Test类一定要实现Runnable接口

B)Test类一定是Thread类的子类

C)Test类一定是Runnable的子类

D)Test类一定是继承Thread类并且实现Runnable接口

4、下列关键字中可以表示类不能被继承的是(A)

A)finalB)default

C)privateD)transient

5、阅读下面程序

publicclassTestimplementsRunnable{

publicstaticvoidmain(String[]args){

_______________________

t.start();

}

publicvoidrun(){

System.out.println(“Hello”);

}

在程序下划线出填入正确选项是(C)

A)Testt=newTest();

B)Threadt=newThread();

C)Threadt=newThread(newTest());

D)Testt=newThread();

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.inta[][]=newa[10][5]  B.inta[]=newint[10]

C.int[]a=newa[10]     D.inta[]=newa[10]

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

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

B.两个成员方法名相同

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

D.两个成员变量名相同

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

A)for(;;){}B)for(inti=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)StatementB)Connection

C)DriverManagerD)ResultSet

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

A)ErrorB)VirtuaMachineError

C)ExceptionD)Thread

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

(1)Connectioncon=DriverManager.getConnection(url,””,””);

(2)ResultSetrs=stmt.executeQuery(“select*fromusers”);

(3)Statementstmt=con.creatStatement();

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

A)

(1)

(2)(3)(4)B)(4)

(1)(3)

(2)

C)(4)(3)

(1)

(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)的变量和方法。

A.private    B.未修饰   

C.public    D.protected

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

A.try子句   B.catch子句

C.finally子句  D.throw子句

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

(   B)

A.程序员必须创建一个线程来释放内存

B.垃圾回收器负责释放无用内存

C.内存回收程序允许程序员直接释放内存

D.内存回收程序可以在指定的时间释放内存对象

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

(A)

A.&&

B.<>

C.if

D.:

=

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

(D)

A.abstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{}包住

C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

 

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

(C)

A.IOException

B.RuntimeException

C.InterruptedException

D.ClassNotFoundException

31、下列语句序列执行后,num的值是____。

(A)

Randomrd1=newRandom();

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

A.1~4之间的随机值

B.0~3之间的随机值

C.0

D.4

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

(B)

A.transient

B.synchronized

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的包的语句是_packageMyPackage________,该语句应该放在程序的位置为程序第一句。

11、Java中布尔类型的变量值有____true_____和false。

12、父类的final方法____不可以_________被子类重写。

13、下列程序输出结果是_____工作顺利__________。

classCry{

publicvoidcry(){

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

}

}

publicE{

publicstaticvoidmain(Stringargs[]){

Cryhello=newCry(){

publicvoidcry(){

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

}

};

hello.cry();

}

}

14、下列程序输出结果是__你好finethanks_____________。

publicclassE{

publicstaticvoidmain(String[]args){

try{

methodA()’

}

catch(IOException){

System.out.print(“你好”);

Return;

}

finally{

System.ou.println(“finethanks”);

}

}

publicstaticvoidmethodA()throwsIOException{

thrownewIOException();

}

}

15、下列程序输出结果是:

_____15.0__________

______8.0_________

classA{

doublef(doublex,doubley){

returnx+y;

}

}

classBextendsA{

doublef(intx,inty){

returnx*y;

}

}

publicE{

publicstaticvoidmain(String[]args){

Bb=newB();

System.out.println(b.f(3,5));

System.out.println(b.f(3.0,5.0));

}

}

16、如果在定义类时,出于安全等方面的考虑,限定该类不能被其它类继承,

则在定义该类时加关键字final来修饰。

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

18、若x=5,y=10,则x>y和x<=y的逻辑值分别为false和__true______

19、用JDK编译Java源程序,使用的命令是___javac________,编译源文件得到字节码文件。

20、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、___编译________和 解释运行字节码。

 

21、在Java程序中定义的类有两种成员:

_成员变量_____和成员方法

22、子类继承父类时所要使用的关键字是__extends_______。

23、使用关键字___char___来定义字符变量。

三、判断题:

1、一个进程就是一个执行中的程序,所以进程共享系统的内存空间和资源。

(T)

2、内部类的外嵌类的成员变量在内部类中仍然有效。

(T)

3、在接口定义中可以声明变量。

(F)

4、类中的实例方法可以操作类变量,而类方法也可以操作实例变量。

(F)

5、内部类的类体中可以声明类变量和类方法。

(F)

6、一个线程进入死亡状态后,调用isAlive()方法返回值是false。

(T)

7、如果采用JDBC-ODBC方式连接数据库,程序代码中必须使用数据库的名

字才能与数据库建立连接。

(F)

8、在定义类时,抽象类中的方法可以有代码。

(T)

9、在Java语言中,允许一个类继承一个父类的内容,也允许继承多个父类

的内容。

(F)

11、在Java语言中,类的构造方法可以重载。

(T)

12、abstract类中只可以有abstract方法。

(F)

13、在Java语言中即支持一维数组,也支持多维数组。

(T)

14、在Java中不可以同时用final和abstract修饰一个方法。

(T)

15、Date类中的Date(longtime)构造方法,time的单位是毫秒。

(T)16、Java语言是编译型语言。

(T)

17、Java中,File类提供了描述文件和目录的方法。

(T)

18、Java可以通过接口机制支持多重继承。

(T)

四、简答题:

1、什么叫接口的回调?

2、在多线程中,线程同步机制是什么?

3、什么叫方法的重载?

构造方法可以重载吗?

4、在JDBC中事务处理步骤是怎样的?

5、java中异常(Exception)和错误(Error)有什么不同?

6、简述实例变量和类变量的区别。

五、程序题:

1、阅读下面程序

classCry{

publicvoidcry(){

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

}

}

publicE{

publicstaticvoidmain(Stringargs[]){

Cryhello=newCry(){

publicvoidcry(){

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

}

};

hello.cry();

}

}

程序运行的输出结果是:

2、阅读下面程序

publicclassE{

publicstaticvoidmain(String[]args){

try{

methodA()’

}

catch(IOException){

System.out.print(“你好”);

Return;

}

finally{

System.ou.println(“finethanks”);

}

}

publicstaticvoidmethodA()throwsIOException{

thrownewIOException();

}

}

程序运行的输出结果是:

 

3、阅读下面程序:

classA{

doublef(doublex,doubley){

returnx+y;

}

}

classBextendsA{

doublef(intx,inty){

returnx*y;

}

}

publicE{

publicstaticvoidmain(String[]args){

Bb=newB();

System.out.println(b.f(3,5));

System.out.println(b.f(3.0,5.0));

}

}

程序运行的输出结果是:

____________________

 

4、编写程序,创建一个Student类,在构造方法里面计算学生的平均成绩,由于无法确定是两门课还是三门课的平均成绩,所以提供两种不同版本的构造方法来创建Student类的对象。

 

1、阅读下面程序

publicclassE{

publicstaticvoidmain(Stringargs[]){

Stringstr=newString(“苹果“);

modify(str);

System.out.println(str);

}

publicstaticvoidmodify(Strings){

s=s+”好吃”;

}

}

程序运行的输出结果是:

5、阅读下面程序

publicclassA{

doublef(doublex,doubley){

returnx+y;

}

staticintg(intn){

Returnn*n;

}

}

publicclassBextendsA{

doublef(doublex,doubley){

doublem=super.f(x,y);

returnm+x*y;

}

staticintg(intn){

intm=A.g(n);

returnm+n;

}

}

publicclassE{

publicstaticvoidmain(Stringargs[]){

Bb=newB();

System.out.println(b.f(10.0,8.0));

System.out.println(b.g(3));

}

}

程序运行的输出结果是:

____________________

6、阅读下面程序

publicclassB{

intx=100,y=200;

publicvoidsetX(intx){

x=x;

}

publicvoidsetY(inty){

this.y=y;

}

publicintgetSum(){

returnx+y;

}

}

publicclassA{

publicstaticvoidmain(Stringargs[]){

Bb=newB();

b.setX(-100);

b.sety(-200);

System.out.println(”Sum=”+b.getSum());

}

}

程序运行的输出结果是:

 

7、编写程序,该程序连接到数据源myData,查询goods表中price字段值大于的全部记录。

程序运行效果如下图10.8(goods表中的字段为:

number:

文本,name:

文本,madetime:

日期/时间,price:

数字;另外编程时可能用到的Java方法如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

catch(ClassNotFoundExceptione){;

DriverManager.getConnection("jdbc:

odbc:

myData","","");

createStatement();executeQuery("SELECT……");

getString();getDate();getDouble();catch(SQLExceptione)......

8、下面程序段的运行结果是_____________________________

_____________________________

_____________________________

publicclassUseArray{

publicstaticvoidmain(Stringargs[]){

double[]x={1.2,45.9,-7.8,-18.2,12.8};

for(inti=0;i

System.out.print("x["+i+"]="+x[i]);

System.out.println();

doublemin=x[0],max=x[0],sum=0.0;

for(inti=0;i

sum+=x[i];

if(x[i]>max)

max=x[i];

if(x[i]

min=x[i];

}

System.out.println("和:

\t"+sum);

System.out.println("最小值:

\t"+min);

System.out.println("最大值:

\t"+max);

}

}

9、下面程序段执行后,在命令行的输出结果是:

_________________

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2