-
Java
高级程序设计第二学期
期末复习题
一、
判断题
1. lizable
是对象可以序列化接口。
(
√
)
2.
包是
Java
< br>语言用来构建图形用户界面(
GUI
)的类库。
(
√
)
3.
容器
ner
是
Component
的子类,一个容器可以容纳多个构件
,
并使他们成为一个整体。
(
√
)
4. Java
中所有的类都是通过直接或间接地继承
类得到的。
(
√
)
5.
Java
的图形用户界面的最
基本的组成部分就是构件(
Component
)
。
(
√
)
< br>
6.
在
Swing
中用重量级的构件替代了
AWT
中的轻量级的构
件。
(
X
)
7.
与
AWT
构件不同,
Swing
构件不能直接添加到顶层容器中,它必
须添加到一
个与
Swing
顶层容器相
关联的内容面板(
contentPane
)上。
(
√
)
8.
类
Panel
< br>默认的布局管理器是
GridLayout
。
(
X
)
9.
每个
Java
< br>小应用程序必须定义为
Jframe
类的子类。
(
√
)
10.
使用
UDP
< br>通信时,用
DatagramPacket
类把要发送的
信息打包。
(
√
)
11
.
AWT
< br>组件称为重型组件(
√
)
p>
组件称为轻型组件(
√
)
13.
容器类不是
GUI
组件
(X
)
14.
使用
add
方法可以在框架的内容窗格中添加组件(
√
)
yout
是最简单的布局管
理器(
√
)
16.
布局管理器
GridLayout
不是以网格(矩阵)的形式排列组件(
X
)
< br>
17.
布局管理器的属性不可以动态的改变(
X
)
18.
每一时刻,一个容器只能有一个布局管理器(
√
)
19.
要创建一个用户界面,需要
创建一个框架或
applet
来存放用户界面组件(
√
)
ent
类是所有用户界面的父类(
√
)
< br>
21.
JFrame
实例可以添加到容器中。
(
F )
22. JCheckBo
x
继承了
AbstractButton
类的所有属性。
( T )
23.
JTextArea
可以让用户输入多行文字。
(
T )
24.
< br>JSlider
与
JScrollbor
类似,但是
JSlider
具有更多的属性和更多是显
示形式。
( T
)
ield
类继承了
JTextComponent<
/p>
类,
而
JTextComponent<
/p>
类继承
JComponent
类。
( T )
26.
从应用程序创建一个子
窗口,不用先创建
JFrame
的一个子类。
< br>( F
)
27.
在一个文本域中按下回车键就触发了
ActionEvent
事件。
( T )
28. Java
使用事件委托处理模型来处理事件,源对象和监听对象可以是同一个对
象
。
( T
)
29. JDBC
是指
Java
程序与数据库连接的一种机制。
( T )
30.
可以给一个面板添加框架。
(F
)
31.
File
类提供实现文件读写的操作方法。
(
T
)
32.
时一个读取字符的类。
(T)
33.
垂直文本位置指定文本相对于图标的垂直位置。
(
T
)
34.
不可以同
时设置按钮上的文本和图标。
(F)
35.
< br>标签是显示一小段文字、一幅图片或者二者皆有的区域。
(
T
)
36.
组合框是包含项目的一个列表,用户可以从中进行选则。
(T)
37.
用
read()
方法读取文件内容时,返回
-1
表示文件结束。
p>
(
F
)
38. PrintWriter
类和
PrintStream
类可以以文本方式输入基本类型数据值、字符串
和对象。
(
F
)
39.
代表优先级的常数值越大优先级越低
(
F
)
40.
线程一旦被创建,则自动运行
(F
)
二、单选题
1
、下列关于
Java
线程的说法那
些是正确的(
)
p>
A
、每一个
Java
线程可以看成由代码、一个真实的
CPU
以及数据三部份组成
。
B
、
创建
线程的两种方法中,
从
Thread
类
中继承的创建方式可以防止出现多父类
问题。
C
、
Thread
类属于
p>
程序包。
D
、以上说法无一正确。
2
、运行下列程序
,
会产生什么结果?(
)
public class X
extends Thread implements Runable{
public void run(){
n(
}
public static void main(String args[])
{
Thread t=new
Thread(new X());
();
}
}
A
、第一行会产生编译错误
B
、第六行会产生编译错误
C
、第六行会产生运行错误
D
、程序会运行和启动
3
、下列
选项中,用于定义接口的关键字是(
)
A
、
import
B
、
implements
C
、
interface
D
、
protected
4
.定义类头时能使用的修饰符是
(
)
。
A)
private B) static
C)
abstract
D) protected
5
、下面哪个方法不可以在任何时候被任何线程调用
?( )
A
、
wait()
B
、
sleep()
C
、
yield()
D
、
synchronized(this)
6.
下列关于线程优先级的说法中,正确的是
A)
线程的优先级是不能改变的
B)
线程的优先级是在创建线程时设置的
C)
在创建线程后的任何时候都可以设置
D) B
和
C
7.
线程生命周期中正确的状态是
A)
新建状态、运行状态和终止状态
B)
新建状态、运行状态、阻塞状态和终止状态
C)
新建状态、可运行状态、运行状态、阻塞状态和终止状态
D)
新建状态、可运行状态、运行状态、恢复状态和终止状态
类中能运行线程体的方法是
A) start()
B) resume()
C) init()
D) run()
9
在程序读入字符文件时,能够以该
文件作为直接参数的类是
A) FileReader
B)
BufferedReader
C) FileInputStream
D) ObjectInputStream
10
)
包的
File
类是
A)
字符流类
B)
字节流类
C)
对象流类
D)
非流类
11
)下列描述中,正确的是
A)
在
Serializable<
/p>
接口中定义了抽象方法
B)
在
Serializable
接口中定义了常量
C)
在
Serializable
接口中没有定义抽象方法,也没有定义常量
< br>
D)
在
Serializ
able
接口中定义了成员方法
12.
java
中用于创建文件对象的类是(
)
A
.
File
B.
Object
C.
Thread
D. Frame
13.
从键盘上输入一个字符串创建文件对象,
若要判断该文件对象为目录文件或
数据文件,可使用下列哪个方法?(
)
A
.
getPath()
B. getName()
()
D. isAbsolute()
14.
下列哪个类不对直接创建对象?(
)
A
.
p>
InputStream
B.
FileInputStream
C.
BufferedInputStream
D.
DataInputStream
15.
< br>从键盘上输入多个字符时,为了避免回车换行符的影响,需要使用下列哪个
流方法
?(
)
A
.
write()
B. flush()
C. close()
D.
skip()
16.
以对象为单位把某个对象写入文件,则需要使用什么方法?
(
)
A. writeInt()
B writeObject()
C. write()
F()
17.
下列哪个类的方法能够直接把简单数据类型写入文件?(
)
A
.
OutputStream
B.
BufferedWriter
C. ObjectOutputStream.
iter
18.
若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?
(
p>
)
le
B.
ActionListener
C.
WindowsAdapter
D.
Serializable
19.
下列哪种类型的数据能以对象的形式写入文件?(
)
A
p>
.
String
B. Frame
C.
Dialog
D. Button
20. File
类的方法中,用于列举某目录下的子目录及文
件的方法是(
)
A
.
long
length()
B.
long
lastModified()
C.
String
[]
list()
D.
String
getName()
21.
能够以字符串为单位写入文件数据的流类是(
)
A.
FileOutputStream
B.
FileWriter
C.
BufferedWriter
C.
OutputStream
22.
能够向文件输入逻辑型数据的类是:
(
)
A. FileOutputStream
B. OutputStream
C. FileWriter
tputStream
23.
在线程同步中,
为了唤醒另一个等待的线程,使用下列方法(
)
A. sleep()
B. wait()
C notify()
D. join()
24.
为了得到当前正在运行的线程,可使用下列哪个方法?(
)
A
.
getName()
B. tThread()
. B.
sleep()
D.
run()
25.
以下(
)不属于线程的状态。
A
.就绪状态
B
。运行状态
C
。挂起状态
D
。独占状态
26
.当线程被创建后,其所处的状态是(
)
A
.阻塞状态
B
。运行状态
C
、就绪状态
D
、新建状态
27
.
当线
程调用
start()
后,其所处状态为(
)
A
.阻塞状态
B
。运行状态
C
、就绪状态
D
、新建状态
28
.
p>
()方法调用后,当等待时间未到,该线程所处状态为(
)
A
.阻塞状态
B
。运行状态
C
、就绪状态
D
、新建状态
29
.新生状态的线程其可能直接进入的状态是(
)
A
.阻塞状态
B
、运行状态
C
、新建状态
D
、结束状态
30
.
()方法调用后,当等待时间
已到,该线程所处状态为(
)
A
.阻塞状态
B
。运行状态
C
、就绪状态
D
、新建状态
31
.当线程因异常而退出
run()
后,其所处状态为(
)
A
.阻塞状态
B
。运行状态
C
、就绪状态
D
、结束状态
32
.
wait()
方法首先是哪个
类的方法?(
)
A. Object
B. Thread.
C. Runnable
D. File
33.
如
果我们想实现
“
先把要写入文件的数据先缓存到内存中,再把缓
存中的数
据写入文件中
”
的功能时,则
需要使用下列哪个类?(
)
A.
FileReader
B.
OutputStream
C.
FilterOutputStream
D.
DataOutputStream
34.
用
read()
方法读取文件内容时,判断文件结束的
标记为(
)
A.
0
B. 1
C -1
D.
无标记
35
.
以下哪个方法只对使用了缓冲的流类起作用?(
)
A. read()
B. write()
C
skip()
D. flush()
36. Java
提供的类
InetAddress
来进行有关
Internet
地址的操作
.(
)
A.
Socket
Socket
C.
DatagramSocket
D
InetAddress
37.
InetAddress
类中哪个方法可实现正向名称解析?(
)
A.
isReachable()
B.
getHostAddress()
C.
getHosstName()
ame()
38.
为了获取远程主
机的文件内容,当创建
URL
对象后,需要使用哪个方法获
p>
取信息(
)
t()
t
ream()
nnection()
39. java
程序中,使用
TCP
套接字编写服务端程序的套接字类是(
)
A.
Socket
B.
ServerSocket
C. DatagramSocket
amPacket
40. ServerSocket
的监听方法
accept()
的返回值类型是
(
)
A. void
B.
Object
C. Socket
D.
DatagramSocket
41. ServerSocket
< br>的
getInetAddress()
的返回值类型是(
)
A.
Socket
B
ServerSocket
dress
D,.URL
42.
当使用客户端套接字
Socket
创建对象时,需
要指定(
)
A
p>
.
服务器主机名称和端口
B
p>
、
服务器端口和文件
C
、
p>
服务器名称和文
件
D
.服务器地址和文件
43
.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法(
)
p>
A
.
getInetAddress()
B.
getLocalPort()
putStream()
utStream()
44.
使用
UDP
套接字通信时,常用哪个类把要发送的信息打包?
(
)
A.
String
B.
DatagramSocket
C. MulticastSocket
amPacket
45.
使用
p>
UDP
套接字通信时,哪个方法用于接收数据
(
)
A. read()
B. receive()
C. accept()
D. Listen()
46.
若要取得数据包的中源地址,可使用下列哪个语句(
)?
A
.
getAddress()
B. getPort()
C. getName()
a()
47.
< br>要使用
java
程序访问数据库,
则必须首先与数据库建立连接,
在建立连接前,
应加载数据库
驱动程序,该语句为(
)
A e(
“
bcDriver
”
)
B.
nection(
“”
,
””
,
””
)
rs= nection(
p>
“”
,
””
,
p>
””
).createStatement()
D.
Statement st= nection(
“”
,
””
,
””
).cr
eateStaement()
48.
要使用
java
程序访问数据库,
则必须首先与数据库建立
连接,
该语句为
(
)
A e
(
“
bcDriver
”
)
B. nection(
“”
,
””
,
””
)
rs= nection(
“”
,
””
,
””
).createStatem
ent()
D. Statement st= nection(
“”<
/p>
,
””
,
””<
/p>
).createStaement()
49.
java
程序与数据库连接后,
p>
需要查看某个表中的数据,
使用下列哪个语句?
(
)
A. executeQuery()
eUpdate()
C executeEdit()
eSelect()
50.
p>
java
程序与数据库连接后,
需要查看某
个表中的数据,
使用下列哪个语句?
(
)
A.
executeQuery()
eUpdate()
C
executeEdit()
eSelect()
51
.
Swing
与
AWT
的区别不包括(
)
是由纯
Java
实现的轻量级构件
没有本地代码
不依赖操作系统的支持
支持图形用户界面
52. JA
V
A
中提供了多种布局对象类。其中使用卡片式布局的是(
)
yout
Layout
out
yout
53.
每个使用
Swing
组件的程序
必须至少有一个(
)
A.
按钮
B.
顶层容器
C.
标签
D.
菜单
54.
下列哪个选项是创建一个标识有
关闭
按钮的语句?(
)
ield b = new
JtextField(
关闭
rea
b = new
JTextArea(
关闭
n b = new
Jbutton(
关闭
box b =
new Jcheckbox(
关闭
5
5.
鼠标事件的监听器接口
MouseListener
能实现的事件不包括(
)
A.
按下
B.
释放
C.
点击
D.
拖动
5
6.
在
Java
中,而无需在程序中用
import
导入的包是(
)
A
.
B
.
C
.
D
.
57.
类
Panel
默认的布局管理器是(
)
A
.
GridLayout
B
.
BorderLayout
C
.
FlowLayout
D
.
CardLayout
58.
容器
Frame
缺省使用的布局编辑策略是(
)
。
A
.
FlowLayout
B
.
BorderLayout
C
.
GridLayout
D
.
CardLayout
59
.容器类
ner
的
父类是(
)
。
A
.
B
.
ent
C
.
D
.
60<
/p>
.编写
Java
图形界面程序时,若需要
对发生的事件做出响应和处理,一般需
要在程序的开头写上
(
)
语句。
A
.
import
.*
B
.
import
.*
C
.
import
.*
D
.
import
.*
三、填空题
1
.
Stdout
< br>作为
PrintStream
的实例,来实现
stdout
,它代表的是
屏幕
2
.
Stdin
作为
InputStream
类的一个实例来实现
stdin
,它代表的是
键盘
< br>,你
可以使用其中两个成员函数,
read()
让你从输入中读一个字节
,
< br>skip(long n)
让
你在输
入中跳过
n
个字节。
3
.
p>
Java
中的
IO
流分为两种,一种是
字节流
,另一种是
字符流
,分别由四个抽象类来表示
(每种流包括输入和输出两种
所以一共四个)
:
InputStream
,
OutputStream
,
R
eader
,
Writer
。
它们通过重载
read
()和
< br>write
()
方法定义了
6<
/p>
个读写操作方法。
4
.
Fil
e
类不是一個標準的
I/O
类,在
p>
类库中它是唯一的
non-stream<
/p>
類別,既不能讀
取文件內容,也不能修改文件內容,主要作用是收
集檔案(或目錄)的相關信息,例如:
建
立文件对象、修改文件
名、设置文件属性、测试文件属性
5
.目录是一个包含其他文件和路径列表的
File
类。当你创建一个
File
对象
p>
且它是目录时,
isDirectory( )
< br>方法
返回
ture
。
这种情况下,可以调用该对象的
String [ ]list( )
p>
方法
来提取该
目录内部其他文件和目录的列
表
6.
所有的输出过滤流都是抽象类
_ _
___
的子类。
(
FilterOut
putStream)
7
、字符输入流
BufferedReader
使
用了
__ ____
技术。
(
PrintStream)
8
、
Inp
utStreamReader
负
责
将
InputStream
转
化
成
Reader
,
而<
/p>
OutputStreamWrite
r
则将
OutputStream
转化成
Writer
。实际上是通过
byte[]
和
String
来关联。
9
、
设
p>
为当前目录下的一个文本文件,
则以字符方
式向该文件写数据时,
需要建立的输
出流通道为:
new FileWriter(
“
”
);
10.
随
机
访
问
文
件
类
是
RandomAccessFile
,
它
< br>实
现
了
与
DataInputStream,
DataOutputStream
类同样实现的接口
DataInput,
DataOutput.
。
11
.实现多线程的两种方式是:
1
、继承
Thread
类;
2
、实现
Runnable
接口。<
/p>
12
、取得当前线程的语句是:
tThread()
;
13
.主线程的名称是
main,
默认创建的第一个子线程的名称是
t
hread-0
14.
可以调用
Thread
类的方法
getPriority
()
和
setPriority
()
来存取线程的优先级,线
程
的
优
先
级
界
于
1
(
MIN_PRIORITY
)
和
10<
/p>
(
MAX_PRIORITY
)
之
间
,
缺
省
是
5
(
< br>NORM_PRIORITY
)
。
15.(1)
当多个线程同时运行时,
< br>会产生数据错误及其它冲突问题。
Java
语言提供了线
程同步
控制机制,
一是
锁定共享资源,
使得在任何时刻只有
一个线程能够访问共享资源,
以
保持共享资源的完整和一致,二
是让互相通信的线程
运行,以保证通信的正确性。
(
p>
2
)线程之间的通信有两种方法:一是把共享变量和方法封闭在一个
类中,二是利用系统
方法
和
控制线程通信
.
实现对共享资源互拆
访问的方法是在方法声明中加入
synchronized
关键
字来声明一个访问共享资源的方法,或者通过
synchro
nized
关键字来声明
synchronized
块
。
16
、
守护
线程一般被用于在后台为其它线程提供服务。
调用方法
isDaemon()
来判断一个
线
程是否是守护线程,也可以调用方法
setDaemon()
将
一个线程设为守护线程。
17
、
InetAddress
是用于封装
IP
地址和
DN
S
的一个类。
18
、
TC
P/IP
套接字是最可靠的双向流协议。等待客户端的服务器使用
ServerSocket
类
,
而要
连接到服务器的客户端则使用
Socket
类
< br>。
19
、
包中提供了一个类
MulticastSocket
,允许数据报以广播方式发送到该端口的
所有客户。
20.
在
TCP/IP
协议的传输层除了
TCP
协议之外还有一个
UDP
协议。几个标准的应用层
协议
HTTP
,
FTP
p>
,
SMTP…
使用的都是
< br>TCP
协议
。
UDP
协议
主要用于需要很强的实时交
互性的场合,如
网络游戏,视频会议
等
21
< br>、当我们得到一个
URL
对象后,就可以通过它读取指定
的
WWW
资源。这时我们将使用
URL
的方法
openStream()
,<
/p>
其定义为:
InputStream
openStream()
;
22
、
URL
的构造方法都声明抛弃非运行时异常
MalformedURLException
,
因此生成
URL
对象时,我们必须要对这一例外进行处理,通常
是用
try-
catch
语句
进行捕获。
23
、<
/p>
一个
Statement
对象
,
可以执行多个
sql
语
句以后,
批量更新。
这多个语句可以是
delete
、
update
、
insert
等或兼有