Java期末复习 - 各章习题小题(3)

2019-08-31 13:14

第8章 输入流与输出流

一、选择题

1.下列数据流中,属于输入流的一项是( B )。

A.从内存流向硬盘的数据流 B.从键盘流向内存的数据流 C.从键盘流向显示器的数据流 D.从网络流向显示器的数据流

【解析】输入流是指从外围设备流向主机(包括CPU和内存)的数据流。

4.下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入―//x‖处,完成要求的功能( B )。

import java.io.*; public class X8_1_4 { public static void main(String[] args) { char ch; try{ //x System.out.println(ch); } catch(IOException e){ e.printStackTrace(); } } }

A.ch = System.in.read(); B.ch = (char)System.in.read();

C.ch = (char)System.in.readln(); D.ch = (int)System.in.read(); 【解析】System.in.read()方法返回的是字符对应的Unicode码,即返回的类型是int型,而ch是char类型,因此必须把方法的返回值强制转换为char类型才能把它赋值给ch变量。另外,System.in对象中没有readln()方法。

6.下列流中哪一个使用了缓冲区技术( A )?

A.BufferedOutputStream B.FileInputStream

C.DataOutputStream D.FileReader

【解析】只有BufferedOutputStream使用了缓冲区技术。 7.能读入字节数据进行Java基本数据类型判断过虑的类是( C )。

A.BufferedInputStream B.FileInputStream C.DataInputStream D.FileReader

2.Java语言提供处理不同类型流的类所在的包是( D )。

A.java.sql B.java.util C.java.net D.java.io 【解析】java.io 包是Java语言提供处理不同类型流的类所在的包。

3.不属于java.io包中的接口的是( C )。

A.DataInput B.DataOutput C.DataInputStream D.ObjectInput

【解析】DataInputStream是java.io包中的一个类,其他三个则是java.io包中的接口。

5.下列程序实现了在当前包dir815下新建一个目录subDir815,选择正确的一项填入程序的横线处,使程序符合要求( D )。

package dir815; import java.io.*;

public class X8_1_5 { public static void main(String[] args){ char ch; try{ File path = ; if(path.mkdir()) System.out.println(\ } catch(Exception e){ e.printStackTrace(); } } }

A.new File(\ B.new

File(\

C.new File(\ D.new File(\

【解析】在程序中,目录之间的连接符是“\\\\”或“/”,因此首先排除B和C;而默认情况下,创建相对目录是在当前目录下进行,而dir815也在当前目录下,因此要在dir815下创建新的目录,就必须使用D的形式。

8.使用哪一个类可以实现在文件的任一个位置读写一个记录( B )?

A.BufferedInputStream B.RandomAccessFile

C.FileWriter D.FileReader

【解析】只有RandomAccessFile才能实现在文件的任一个位置读写一个记录。

11

9.在通常情况下,下列哪个类的对象可以作为BufferedReader类构造方法的参数( C )?

A.PrintStream B.FileInputStream C.InputStreamReader D.FileReader

【解析】InputStreamReader类的对象可以作为BufferedReader类构造方法的参数。 10.若文件是RandomAccessFile的实例f,并且其基本文件

长度大于0,则下面的语句实现的功能是( B )。

f.seek(f.length()-1);

A.将文件指针指向文件的第一个字符后面 B.将文件指针指向文件的最后一个字符前面 C.将文件指针指向文件的最后一个字符后面 D.会导致seek()方法抛出一个IOException异常

【解析】通过调用f对象的length()方法,可以将文件指针指向文件的末尾,因此f.length()-1即指向文件的最后一个字符前面。

11.下列关于流类和File类的说法中错误的一项是( B )。

A.File类可以重命名文件 B.File类可以修改文件内容 C.流类可以修改文件内容 D.流类不可以新建目录 【解析】只有流类可以修改文件内容,而File类则不能。 三、判断题

12.若要删除一个文件,应该使用下列哪个类的实例( B )?

A.RandomAccessFile B.File C.FileOutputStream D.FileReader

【解析】要删除文件以及查看文件属性等,应使用File类对象来实现。

13.下列哪一个是Java系统的标准输入流对象( )?

A.System.out B.System.in C.System.exit D.System.err

【解析】System.in是Java系统的标准输入流对象,而System.out和System.err则是Java系统的标准输出流和标准错误对象,System.exit则是System类的退出方法。

14.Java系统标准输出对象System.out使用的输出流是( A )。

A.PrintStream B.PrintWriter

C.DataOutputStream D.FileReader

【解析】System.out属性是PrintStream类型的对象。

1.文件缓冲流的作用是提高文件的读/写效率。( √ ) 2.通过File类可对文件属性进行修改。( √ ) 3.IOException必须被捕获或抛出。( √ )

4.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。( √ )

5.对象串行化机制是指将程序中对象的状态转化为一个字节流,存储在文件中。( √ ) 6.Serializable接口是个空接口,它只是一个表示对象可以串行化的特殊标记。( √ )

12

第9章 Java多线程机制

一、选择题

1.下列说法中,正确的一项是( A )。

A.单处理机的计算机上,2个线程实际上不能并发执行 B.单处理机的计算机上,2个线程实际上能够并发执行 C.一个线程可以包含多个进程 D.一个进程只能包含一个线程 【解析】单处理机的计算机上通过一个极短的固定时间段或者在线程等待时,切换到另一个线程,这种调度过程时间极短,看上去像是并发执行。

2.下列说法中,错误的一项是( A )。 A.线程就是程序 B.线程是一个程序的单个执行流 C.多线程是指一个程序的多个执行流 D.多线程用于实现并发 【解析】线程是一个程序的单个执行流,而不是程序本身。而多线程作为实现并发的一个重要手段,是一个程序的多个执行流。 3.下列关于Thread类的线程控制方法的说法中错误的一项是( C )。

A.线程可以通过调用sleep()方法使比当前线程优先级低的线程运行

B.线程可以通过调用yield()方法使和当前线程优先级一样的线程运行

C.线程的sleep()方法调用结束后,该线程进入运行状态 D.若没有相同优先级的线程处于可运行状态,线程调用yield()方法时,当前线程将继续执行

【解析】线程的sleep()方法调用结束后,该线程进入就绪状态,而不是运行状态。

4.方法resume()负责恢复下列哪一个线程的执行( D )?

A.通过调用stop()方法而停止的线程 B.通过调用sleep()方法而停止的线程 C.通过调用wait()方法而停止的线程 D.通过调用suspend()方法而停止的线程

【解析】通过调用suspend()方法而停止的线程需要调用resume()恢复。

5.下面的哪一个关键字通常用来对对象加锁,从而使得对对象的访问是排他的( C )? A.serialize B.transient

C.synchronized D.static

【解析】synchronized用来对对象加锁,从而使得对对象的访问是排他的。

6.下列说法中,错误的一项是( A )。 A.线程一旦创建,则立即自动执行

B.线程创建后需要调用start()方法,将线程置于可运行状态

C.调用线程的start()方法后,线程也不一定立即执行 D.线程处于可运行状态,意味着它可以被调度

【解析】线程创建后需要调用start()方法,将线程置于可运行状态。

7.下列说法中,错误的一项是( A )。 A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程 C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线程 【解析】Thread类和Runnable接口中都定义了run()方法,而start()方法只有Thread类中进行了定义,而Runnable接口中没有定义。

8.Thread类定义在下列哪个包中( B )? A.java.io B.java.lang C.java.util D.java.awt

【解析】Thread类定义在java.lang包中,因此使用时可以不用显式加载。

9.Thread类的常量NORM_PRIORITY代表的优先级是( C )。

A.最低优先级 B.最高优先级 C.普通优先级 D.不是优先级 【解析】NORM_PRIORITY代表的优先级是普通优先级。 10.下列关于线程优先级的说法中,错误的一项是( D )。

A.MIN_PRIORITY代表最低优先级 B.MAX_PRIORITY代表最高优先级

C.NORM_PRIORITY代表普通优先级 D.代表优先级的常数值越大优先级越低 【解析】代表优先级的常数值越大优先级越高

13

第10章 组件及事件处理

一、选择题

1.下列说法中错误的一项是( B )。

A.构件是一个可视化的能与用户在屏幕上交互的对象

B.构件能够独立显示出来

C.构件必须放在某个容器中才能正确显示 D.一个按钮可以是一个构件

【解析】构件不能独立显示,它必须放在某个容器中才能正确显示。

2.进行Java基本GUI设计需要用到的包是( C )。A.java.io B.java.sql C.java.awt D.java.rmi 【解析】进行Java基本GUI设计需要用到的包是java.awt和javax.swing

3.Container是下列哪一个类的子类( D )?

A.Graphics B.Window C.Applet D.Component 【解析】Container类是由Component类派生的。 4.java.awt.Frame的父类是( B )。 A.java.util.Window B.java.awt Window C.java.awt Panel D.java.awt.ScrollPane 【解析】java.awt.Frame的父类java.awt Window。 5.下列哪个方法可以将MenuBar加入Frame中( D )?

A.setMenu() B.addMenuBar() C.add() D.setMenuBar()

【解析】可以将MenuBar加入Frame中的方法是setMenuBar()。

6.下列叙述中,错误的一项是( D )。

A.采用GridLayout布局,容器中的每个构件平均分配容器空间

B.采用GridLayout布局,容器中的每个构件形成一个网络状的布局

C.采用GridLayout布局,容器中的构件按照从左到右、从上到下的顺序排列

D.采用GridLayout布局,容器大小改变时,每个构件不再平均分配容器空间

【解析】采用GridLayout布局,容器大小改变时,每个构件平均分配容器空间。

7.当单击鼠标或拖动鼠标时,触发的事件是( D )。

A.KeyEvent B.ActionEvent C.ItemEvent D.MouseEvent

【解析】对鼠标操作,触发的事件是MouseEvent事件。 8.下列哪一项不属于Swing的顶层组件( C )? A.JApplet B.JDialog C.JTree D.Jframe 【解析】JTree 只有在容器中才能显示,它不属于swing的顶层组件。

9.下列说法中错误的一项是( D )。

A.在实际编程中,一般使用的是Component类的子类 B.在实际编程中,一般使用的是Container类的子类 C.Container类是Component类的子类

D.容器中可以放置构件,但是不能够放置容器

【解析】容器中既可以放置构件,也可以放置容器。 10.下列哪一项不属于AWT布局管理器( D )?

A.GridLayout B.CardLayout C.BorderLayout D.BoxLayout 【解析】BoxLayout属于swing布局管理器,不属于AWT布局管理器。

11.下列说法中错误的一项是( A )。

A.MouseAdapter是鼠标运动适配器 B.WindowAdapter是窗口适配器

C.ContainerAdapter是容器适配器 D.KeyAdapter是键盘适配器

【解析】MouseAdapter是鼠标适配器,而MouseMotionAdapte才是鼠标运动适配器。

12.布局管理器可以管理构件的哪个属性( A )?

A.大小 B.颜色 C.名称 D.字体

【解析】布局管理器可以管理构件的位置和大小,而不能管理构件的其他属性。

13.编写AWT图形用户界面的时候,一定要import的语句是( B )。

A.import java.awt; B.import java.awt.*; C.import javax.awt D.import javax.swing.*; 【解析】“import java.awt.*;”语句的含义是加载awt包中的所有类,而其他都不是。

14.在类中若要处理ActionEvent事件,则该类需要实现的接口是( B )。

A.Runnable B.ActionListener C.Serializable D.Event

【解析】处理ActionEvent事件的类需要实现的接口是ActionListener,它其中包含了actionPerformed()方法。 15.下列不属于java.awt包中的基本概念的一项是( C )。

A.容器 B.构件 C.线程 D.布局管理器 【解析】线程不属于java.awt包中的基本概念的一项,其他三个都是。 16.下列关于AWT构件的说法中错误的一项是( D )。 A.Frame是顶级窗口,它无法直接监听键盘输入事件

14

B.对话框需要依赖于其他窗口而存在 C.菜单只能被添加到菜单栏中

D.可以将菜单添加到任意容器的某处

【解析】菜单只能添加到Applet、Frame等容器中,不能添加到任意容器的某处。

17.JPanel的默认布局管理器是( C )。

A.BorderLayout B.GridLayout C.FlowLayout D.CardLayout

【解析】Panel、JPanel和Applet的默认布局管理器都是FlowLayout。

18.下列说法中错误的是( B )。

A.在Windows系统下,Frame窗口是有标题、边框的 B.Frame的对象实例化后,没有大小,但是可以看到 C.通过调用Frame的setSize()方法来设定窗口的大小 D.通过调用Frame的setVisible(true)方法来设置窗口为

三、判断题

可见 【解析】Frame的对象实例化后,没有大小,也不能看到,只有通过调用Frame的setSize()和setVisible(true)方法才能设定窗口的大小和可见性。

19.下列说法中错误的是( D )。

A.同一个对象可以监听一个事件源上多个不同的事件

B.一个类可以实现多个监听器接口

C.一个类中可以同时出现事件源和事件处理者 D.一个类只能实现一个监听器接口

【解析】一个类可以实现多个监听器接口,从而实现对多个事件的监听。

20.下列选项中不属于容器的一项是( C )。 A.Window B.Panel C.FlowLayout D.ScrollPane

【解析】FlowLayout类属于布局管理器,而不属于容器。

1.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。( × ) 2.一个容器中可以混合使用多种布局策略。( × )

3.在Swing用户界面的程序设计中,容器可以被添加到其他容器中去。( √ )

4.使用BorderLayout布局管理器时,GUI组件可以按任何顺序添加到面板上。( √ ) 5.在使用BorderLayout时,最多可以放入五个组件。( √ )

6.每个事件类对应一个事件监听器接口,每一个监听器接口都有相对应的适配器。( × ) 7.Java中,并非每个事件类都只对应一个事件。( √ )

15

第11章 Java网络编程

一、填空题

1.URL是 统一资源定位器 的简称,它表示Internet/Intranet上的资源位置。这些资源可以是一个文件、一个 目录 或一个 对象 。

2.每个完整的URL由四部分组成: 传输协议 、 主机名 、 端口号 以及 文件名称 。 3.两个程序之间只有在 地址 和 端口号 方面都达成一致时才能建立连接。

4.使用URL类可以简单方便地获取信息,但是如果希望在获取信息的同时,还能够向远方的计算机节点传送信息,就需要使用另一个系统类库中的类 URLConnection 。 5.Socket称为 套接字 ,也有人称为“插座”。在两台计算机上运行的两个程序之间有一个双向通信的链接点,而这个双向链路的每一端就称为一个 Socket 。

6.Java.net中提供了两个类: ServerSocket 和 Socket ,它们分别用于服务器端和客户端的socket通信。

7.URL和Socket通信是一种面向 连接 的流式套接字通信,采用的协议是 TCP 协议。UDP通信是一种 无连接 的数据报通信,采用的协议是数据报通信协议 UDP 。

8.Java.net软件包中的类 DatagramSocket 和类 DatagramPacket 为实现UDP通信提供了支持。 9. receive() 和 send() 是DatagramSocket类中用来实现数据报传送和接收的两个重要方法。 10.JDBC API提供的类和接口在 java.sql 包中定义。

第12章 JDBC数据库操作

一、填空题

1.JDBC的基本层次结构由(Java程序)、( JDBC API)、(JDBC驱动程序管理器)、(驱动程序)和数据库五部分组成。 2.根据访问数据库的技术不同,JDBC驱动程序相应地分为(JDBC-ODBC Bridge)、(JDBC-Native API Bridge)、( JDBC-Middleware)和(Pure JDBC Driver)四种类型。

3.JDBC API所包含的接口和类非常多,都定义在(java.sql)包和(javax.sql)包中。

4.使用(Class.forName( ))方法加载和注册驱动程序后,由(DriverManager)类负责管理并跟踪JDBC驱动程序,在数据库和相应驱动程序之间建立连接。 5.(java.spl.Connection)接口负责建立与指定数据库的连接。 6.(PreparedStatement)接口的对象可以代表一个预编译的SOL语句,它是(Statement)接口的子接口。 7.(ResultSet)接口表示从数据库中返回的结果集。

16


Java期末复习 - 各章习题小题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:课程设计(论文)-卧式钻孔组合机床液压系统设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: