java期末复习题解答.docx
- 文档编号:9541660
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:36
- 大小:36.90KB
java期末复习题解答.docx
《java期末复习题解答.docx》由会员分享,可在线阅读,更多相关《java期末复习题解答.docx(36页珍藏版)》请在冰豆网上搜索。
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(“”);
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、下列程序输出结果是:
_______________
_______________
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);
(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();
(b.f(10.0,8.0));
(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);
(”Sum=”+b.getSum());
}
}
程序运行的输出结果是:
7、编写程序,该程序连接到数据源myData,查询goods表中price字段值大于300000的全部记录。
程序运行效果如下图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、下面程序段执行后,在命令行的输出结果是: ___________________________ publicclassTestBirthday{ publicstaticvoidmain(Stringargs[]){ Birthdayobj1=newB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 期末 复习题 解答