Java高级程序设计第二学期 期末复习题.docx
- 文档编号:29699137
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:23
- 大小:26.12KB
Java高级程序设计第二学期 期末复习题.docx
《Java高级程序设计第二学期 期末复习题.docx》由会员分享,可在线阅读,更多相关《Java高级程序设计第二学期 期末复习题.docx(23页珍藏版)》请在冰豆网上搜索。
Java高级程序设计第二学期期末复习题
Java高级程序设计第二学期期末复习题
一、判断题
1.java.io.Seriablizable是对象可以序列化接口。
(√)
2.java.awt包是Java语言用来构建图形用户界面(GUI)的类库。
(√)
3.容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。
(√)
4.Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。
(√)
5. Java的图形用户界面的最基本的组成部分就是构件(Component)。
(√)
6.在Swing中用重量级的构件替代了AWT中的轻量级的构件。
(X)
7.与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentPane)上。
(√)
8.类Panel默认的布局管理器是GridLayout。
(X)
9.每个Java小应用程序必须定义为Jframe类的子类。
(√)
10.使用UDP通信时,用DatagramPacket类把要发送的信息打包。
(√)
11.AWT组件称为重型组件(√)
12.Swing组件称为轻型组件(√)
13.容器类不是GUI组件(X)
14.使用add方法可以在框架的内容窗格中添加组件(√)
15.FlowLayout是最简单的布局管理器(√)
16.布局管理器GridLayout不是以网格(矩阵)的形式排列组件(X)
17.布局管理器的属性不可以动态的改变(X)
18.每一时刻,一个容器只能有一个布局管理器(√)
19.要创建一个用户界面,需要创建一个框架或applet来存放用户界面组件(√)
20.Component类是所有用户界面的父类(√)
21.JFrame实例可以添加到容器中。
(F)
22.JCheckBox继承了AbstractButton类的所有属性。
(T)
23.JTextArea可以让用户输入多行文字。
(T)
24.JSlider与JScrollbor类似,但是JSlider具有更多的属性和更多是显示形式。
(T)
25.JTextField类继承了JTextComponent类,而JTextComponent类继承JComponent类。
(T)
26.从应用程序创建一个子窗口,不用先创建JFrame的一个子类。
(F)
27.在一个文本域中按下回车键就触发了ActionEvent事件。
(T)
28.Java使用事件委托处理模型来处理事件,源对象和监听对象可以是同一个对象。
(T)
29.JDBC是指Java程序与数据库连接的一种机制。
(T)
30.可以给一个面板添加框架。
(F)
31.File类提供实现文件读写的操作方法。
(T)
32.java.io.Reader时一个读取字符的类。
(T)
33.垂直文本位置指定文本相对于图标的垂直位置。
(T)
34.不可以同时设置按钮上的文本和图标。
(F)
35.标签是显示一小段文字、一幅图片或者二者皆有的区域。
(T)
36.组合框是包含项目的一个列表,用户可以从中进行选则。
(T)
37.用read()方法读取文件内容时,返回-1表示文件结束。
(F)
38.PrintWriter类和PrintStream类可以以文本方式输入基本类型数据值、字符串和对象。
(F)
39.代表优先级的常数值越大优先级越低(F)
40.线程一旦被创建,则自动运行(F)
二、单选题
1、下列关于Java线程的说法那些是正确的()
A、每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
B、创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、Thread类属于java.util程序包。
D、以上说法无一正确。
2、运行下列程序,会产生什么结果?
()
publicclassXextendsThreadimplementsRunable{
publicvoidrun(){
System.out.println("thisisrun()");
}
publicstaticvoidmain(Stringargs[]){
Threadt=new Thread(newX());
t.start();
}
}
A、第一行会产生编译错误
B、第六行会产生编译错误
C、第六行会产生运行错误
D、程序会运行和启动
3、下列选项中,用于定义接口的关键字是()
A、import
B、implements
C、interface
D、protected
4.定义类头时能使用的修饰符是()。
A)privateB)staticC)abstractD)protected
5、下面哪个方法不可以在任何时候被任何线程调用?
()
A、wait()
B、sleep()
C、yield()
D、synchronized(this)
6.下列关于线程优先级的说法中,正确的是
A)线程的优先级是不能改变的
B)线程的优先级是在创建线程时设置的
C)在创建线程后的任何时候都可以设置
D)B和C
7.线程生命周期中正确的状态是
A)新建状态、运行状态和终止状态
B)新建状态、运行状态、阻塞状态和终止状态
C)新建状态、可运行状态、运行状态、阻塞状态和终止状态
D)新建状态、可运行状态、运行状态、恢复状态和终止状态
8.Thread类中能运行线程体的方法是
A)start()B)resume()
C)init()D)run()
9在程序读入字符文件时,能够以该文件作为直接参数的类是
A)FileReaderB)BufferedReader
C)FileInputStreamD)ObjectInputStream
10)java.io包的File类是
A)字符流类B)字节流类
C)对象流类D)非流类
11)下列描述中,正确的是
A)在Serializable接口中定义了抽象方法
B)在Serializable接口中定义了常量
C)在Serializable接口中没有定义抽象方法,也没有定义常量
D)在Serializable接口中定义了成员方法
12.java中用于创建文件对象的类是()
A.FileB.ObjectC.ThreadD.Frame
13.从键盘上输入一个字符串创建文件对象,若要判断该文件对象为目录文件或数据文件,可使用下列哪个方法?
()
A.getPath()B.getName()C.isFile()D.isAbsolute()
14.下列哪个类不对直接创建对象?
()
A.InputStreamB.FileInputStreamC.BufferedInputStreamD.DataInputStream
15.从键盘上输入多个字符时,为了避免回车换行符的影响,需要使用下列哪个流方法?
()
A.write()B.flush()C.close()D.skip()
16.以对象为单位把某个对象写入文件,则需要使用什么方法?
()
A.writeInt()BwriteObject()C.write()D.writUTF()
17.下列哪个类的方法能够直接把简单数据类型写入文件?
()
A.OutputStreamB.BufferedWriterC.ObjectOutputStream.D.FileWriter
18.若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?
()
A.RunnableB.ActionListenerC.WindowsAdapterD.Serializable
19.下列哪种类型的数据能以对象的形式写入文件?
()
A.StringB.FrameC.DialogD.Button
20.File类的方法中,用于列举某目录下的子目录及文件的方法是()
A.longlength()B.longlastModified()C.String[]list()D.StringgetName()
21.能够以字符串为单位写入文件数据的流类是()
A.FileOutputStreamB.FileWriterC.BufferedWriterC.OutputStream
22.能够向文件输入逻辑型数据的类是:
()
A.FileOutputStreamB.OutputStreamC.FileWriterD.DataOutputStream
23.在线程同步中,为了唤醒另一个等待的线程,使用下列方法()
A.sleep()B.wait()Cnotify()D.join()
24.为了得到当前正在运行的线程,可使用下列哪个方法?
()
A.getName()B.Thread.CurrentThread().B.sleep()D.run()
25.以下()不属于线程的状态。
A.就绪状态B。
运行状态C。
挂起状态D。
独占状态
26.当线程被创建后,其所处的状态是()
A.阻塞状态B。
运行状态C、就绪状态D、新建状态
27.当线程调用start()后,其所处状态为()
A.阻塞状态B。
运行状态C、就绪状态D、新建状态
28.Thread.sleep()方法调用后,当等待时间未到,该线程所处状态为()
A.阻塞状态B。
运行状态C、就绪状态D、新建状态
29.新生状态的线程其可能直接进入的状态是()
A.阻塞状态B、运行状态C、新建状态D、结束状态
30.Thread.sleep()方法调用后,当等待时间已到,该线程所处状态为()
A.阻塞状态B。
运行状态C、就绪状态D、新建状态
31.当线程因异常而退出run()后,其所处状态为()
A.阻塞状态B。
运行状态C、就绪状态D、结束状态
32.wait()方法首先是哪个类的方法?
()
A.ObjectB.Thread.C.RunnableD.File
33.如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,则需要使用下列哪个类?
()
A.FileReaderB.OutputStreamC.FilterOutputStreamD.DataOutputStream
34.用read()方法读取文件内容时,判断文件结束的标记为()
A.0B.1C-1D.无标记
35.以下哪个方法只对使用了缓冲的流类起作用?
()
A.read()B.write()Cskip()D.flush()
36.Java提供的类InetAddress来进行有关Internet地址的操作.()
A.SocketB.ServerSocketC.DatagramSocketDInetAddress
37.InetAddress类中哪个方法可实现正向名称解析?
()
A.isReachable()B.getHostAddress()C.getHosstName()D.getByName()
38.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息()
A.getPort()B.getHostC.openStream()D.openConnection()
39.java程序中,使用TCP套接字编写服务端程序的套接字类是()
A.SocketB.ServerSocketC.DatagramSocketD.DatagramPacket
40.ServerSocket的监听方法accept()的返回值类型是()
A.voidB.ObjectC.SocketD.DatagramSocket
41.ServerSocket的getInetAddress()的返回值类型是()
A.SocketBServerSocketD.InetAddressD,.URL
42.当使用客户端套接字Socket创建对象时,需要指定()
A.服务器主机名称和端口B、服务器端口和文件C、服务器名称和文件
D.服务器地址和文件
43.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()
A.getInetAddress()B.getLocalPort()C.getOutputStream()D.getInputStream()
44.使用UDP套接字通信时,常用哪个类把要发送的信息打包?
()
A.StringB.DatagramSocketC.MulticastSocketD.DatagramPacket
45.使用UDP套接字通信时,哪个方法用于接收数据()
A.read()B.receive()C.accept()D.Listen()
46.若要取得数据包的中源地址,可使用下列哪个语句()?
A.getAddress()B.getPort()C.getName()D.getData()
47.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()
AClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
B.DriverManage.getConnection(“”,””,””)
C.Resultrs=DriverManage.getConnection(“”,””,””).createStatement()
D.Statementst=DriverManage.getConnection(“”,””,””).createStaement()
48.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()
AClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
B.DriverManage.getConnection(“”,””,””)
C.Resultrs=DriverManage.getConnection(“”,””,””).createStatement()
D.Statementst=DriverManage.getConnection(“”,””,””).createStaement()
49.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?
()
A.executeQuery()B.executeUpdate()CexecuteEdit()D.executeSelect()
50.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?
()
A.executeQuery()B.executeUpdate()CexecuteEdit()D.executeSelect()
51.Swing与AWT的区别不包括()
A.Swing是由纯Java实现的轻量级构件
B.Swing没有本地代码
C.Swing不依赖操作系统的支持
D.Swing支持图形用户界面
52.JAVA中提供了多种布局对象类。
其中使用卡片式布局的是()
A.FlowLayoutB.BoederLayout
C.BoxLayoutD.CardLayout
53.每个使用Swing组件的程序必须至少有一个()
A.按钮B.顶层容器C.标签D.菜单
54.下列哪个选项是创建一个标识有"关闭"按钮的语句?
()
A.JTextFieldb=newJtextField("关闭");
B.JTextAreab=newJTextArea("关闭");
C.JButtonb=newJbutton("关闭");
D.JCheckboxb=newJcheckbox("关闭");
55.鼠标事件的监听器接口MouseListener能实现的事件不包括()
A.按下B.释放
C.点击D.拖动
56.在Java中,而无需在程序中用import导入的包是()
A.java.appletB.java.awt
C.java.utilD.java.lang
57.类Panel默认的布局管理器是()
A.GridLayout B.BorderLayout
C.FlowLayout D.CardLayout
58.容器Frame缺省使用的布局编辑策略是()。
A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout
59.容器类java.awt.container的父类是( )。
A.java.awt.Window B.java.awt.Component
C.java.awt.Frame D.java.awt.Panel
60.编写Java图形界面程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上()语句。
A.importjava.awt.*;B.importjava.applet.*;
C.importjava.io.*;D.importjava.awt.event.*;
三、填空题
1.StdoutSystem.out作为PrintStream的实例,来实现stdout,它代表的是屏幕
2.StdinSystem.in作为InputStream类的一个实例来实现stdin,它代表的是键盘,你可以使用其中两个成员函数,read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n个字节。
3.Java中的IO流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):
InputStream,OutputStream,Reader,Writer。
它们通过重载read()和write()方法定义了6个读写操作方法。
4.File类不是一個標準的I/O类,在java.io类库中它是唯一的non-stream類別,既不能讀取文件內容,也不能修改文件內容,主要作用是收集檔案(或目錄)的相關信息,例如:
建立文件对象、修改文件名、设置文件属性、测试文件属性
5.目录是一个包含其他文件和路径列表的File类。
当你创建一个File对象且它是目录时,isDirectory()方法返回ture。
这种情况下,可以调用该对象的String[]list()方法来提取该目录内部其他文件和目录的列表
6.所有的输出过滤流都是抽象类_____的子类。
(FilterOutputStream)
7、字符输入流BufferedReader使用了______技术。
(PrintStream)
8、InputStreamReader负责将InputStream转化成Reader,而OutputStreamWriter则将OutputStream转化成Writer。
实际上是通过byte[]和String来关联。
9、设a.txt为当前目录下的一个文本文件,则以字符方式向该文件写数据时,需要建立的输出流通道为:
newFileWriter(“a.txt”);
10.随机访问文件类是RandomAccessFile,它实现了与DataInputStream,DataOutputStream类同样实现的接口DataInput,DataOutput.。
11.实现多线程的两种方式是:
1、继承Thread类;2、实现Runnable接口。
12、取得当前线程的语句是:
Thread.currentThread();
13.主线程的名称是main,默认创建的第一个子线程的名称是thread-0
14.可以调用Thread类的方法getPriority()和setPriority()来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是5(NORM_PRIORITY)。
15.
(1)当多个线程同时运行时,会产生数据错误及其它冲突问题。
Java语言提供了线程同步控制机制,一是锁定共享资源,使得在任何时刻只有一个线程能够访问共享资源,以保持共享资源的完整和一致,二是让互相通信的线程运行,以保证通信的正确性。
(2)线程之间的通信有两种方法:
一是把共享变量和方法封闭在一个类中,二是利用系统方法和控制线程通信.实现对共享资源互拆访问的方法是在方法声明中加入synchronized关键字来声明一个访问共享资源的方法,或者通过synchronized关键字来声明synchronized块。
16、守护线程一般被用于在后台为其它线程提供服务。
调用方法isDaemon()来判断一个线程是否是守护线程,也可以调用方法setDaemon()将一个线程设为守护线程。
17、InetAddress是用于封装IP地址和DNS的一个类。
18、TCP/IP套接字是最可靠的双向流协议。
等待客户端的服务器使用ServerSocket类,而要连接到服务器的客户端则使用Socket类。
19、包中提供了一个类MulticastSocket,允许数据报以广播方式发送到该端口的所有客户。
20.在TCP/IP协议的传输层除了TCP协议之外还有一个UDP协议。
几个标准的应用层协议HTTP,FTP,SMTP…使用的都是TCP协议。
UDP协议主要用于需要很强的实时交互性的场合,如网络游戏,视频会议等
21、当我们得到一个URL对象后,就可以通过它读取指定的WWW资源。
这时我们将使用URL的方法openStream(),其定义为:
InputStreamopenStream();
22、URL的构造方法都声明抛弃非运行时异常MalformedURLException,因此生成URL对象时,我们必须要对这一例外进行处理,通常是用try-catch语句进行捕获。
23、一个Statement对象,可以执行多个sql语句以后,批量更新。
这多个语句可以是delete、update、insert等或兼有
24、Java数据库操作基本流程:
取得数据库连接、执行sql语句、处理执行结果、释放数据库连接。
25、下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java高级程序设计第二学期 期末复习题 Java 高级 程序设计 第二 学期 期末 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)