JAVA各章习题及答案 下载本文

内容发布更新时间 : 2024/5/18 13:41:38星期一 下面是文章的全部内容请认真阅读。

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.代表优先级的常数值越大优先级越低 【解析】代表优先级的常数值越大优先级越高 二、填空题

1.多线程是指程序中同时存在着 多 个执行体,它们按几条不同的执行路线共同工作,独立完成各自的功能而互不干扰。

2.每个Java程序都有一个缺省的主线程,对于Application类型的程序来说,主线程是方法 main() 执行的线程。

3.Java语言使用 Thread 类及其子类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历 新生 、 就绪 、 运行 、 阻塞 和 死亡 等五种状态。

4.在Java中,创建线程的方法有两种:一种方法是通过创建 Thread 类的子类来实现,另一种方法是通过实现 Runnable 接口的类来实现。

5.用户可以通过调用Thread类的方法 setPriority() 来修改系统自动设定的线程优先级,使之符合程序的特定需要。

6. start() 方法将启动线程对象,使之从新建状态转入就绪状态并进入就绪队列排队。 7.Thread类和Runnable接口中共有的方法是 run() ,只有Thread类中有而Runnable接口中没有的方法是 start() ,因此通过实现Runnable接口创建的线程类要想启动线程,必须在程序中创建 Thread 类的对象。

8.在Java中,实现同步操作的方法是在共享内存变量的方法前加 synchronized 修饰符。 9.线程的优先级是一个在 1 到 10 之间的正整数,数值越大,优先级越 高 ,未设定优先级的线程其优先级取缺省值 5 。

10.Thread类中代表最高优先级的常量是 MAX_PRIORITY ,表示最低优先级的常量是 MIN_PRIORITY 。

第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 )?

21

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,它其中包含了

22

actionPerformed()方法。

15.下列不属于java.awt包中的基本概念的一项是( C )。

A.容器 B.构件 C.线程 D.布局管理器 【解析】线程不属于java.awt包中的基本概念的一项,其他三个都是。 16.下列关于AWT构件的说法中错误的一项是( D )。

A.Frame是顶级窗口,它无法直接监听键盘输入事件 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.下列选项中不属于容器的一项是( )。

A.Window B.Panel C.FlowLayout D.ScrollPane 【解析】FlowLayout类属于布局管理器,而不属于容器。

二、填空题

1.Java编程语言是一种跨平台的编程语言,在编写图形用户界面方面,也要支持 跨平台 功能。

2.Java的图形用户界面技术经历了两个发展阶段,分别通过提供 awt 开发包和 swing 开发包来体现。

3.在进行界面设计的时候,只要掌握好AWT和Swing的三点思路,就能编写出较好的图形用户界面:首先是 界面中的构件如何放置 ,其次是 如何让构件响应用户的操作 ,第三是 掌握每种构件的显式效果和响应用户操作 。

4.java.awt包提供了基本的java程序的GUI设计工具,主要包括下述三个概念,它们分别是: 构件 、 容器 和 布局管理器 。

5.构件不能独立地显示出来,必须将构件放在一定的 容器 中才可以显示出来。

6.容器本身也是一个 构件 ,具有构件的所有性质,另外还具有放置其他 构件 和 容器 的功能。

7.容器中的布局管理器负责各个构件的 位置 和 大小 ,因此用户无法在这种情况下设置构件的这些属性。

23

8.如果用户确实需要亲自设置构件大小或位置,则应取消该容器的布局管理器,方法为 setLayout(null) 。

9.所有的构件都可以通过 add() 方法向容器中添加构件。 10.有3种类型的容器: Window 、 Panel 、 ScrollPane 。

11.FlowLayout类是 java.lang.Object 直接子类。其布局策略是:将容器中的构件按照加入的先后顺序从 左 向 右 排列,当一行排满之后就转到下一行继续从 左 向 右 排列,每一行中的构件都 居中 排列。它是 Panel 和 Applet 缺省使用的布局编辑策略。 12.对于一个原本不使用FlowLayout布局编辑器的容器,若需要将其布局策略改为

FlowLayout,可以使用 setLayout(new FlowLayout()) 方法。

13.BorderLayout类的布局策略是:把容器内的空间划分为 东 、 西 、 南 、 北 、 中

五个区域,它们分别用字符串常量 East 、 West 、 South 、 North 、 Center 表示。

14.BorderLayout是 Window 、 Frame 、 Dialog 和 JApplet 的缺省布局策略。 15.在事件处理的过程中,主要涉及3类对象: 事件 、 事件源 和 事件处理者 。 16.事件类主要有两个: java.util.EventObject 类以及 java.awt.AWTEvent 类。 17.根据监听器器和注册监听器所在的类之间的关系,我们可以把事件处理分为以下几种情

况:利用 外部类 对象、 本类 对象、 内部类 对象和 匿名内部类 对象处理事件。 18.标准构件是由 容器 和 基本构件 构成,容器是能够容纳其他构件的对象,而基本

构件是放置在容器中而不能在其内部存放其他构件的对象。

19.按钮可以引发 ActionEvent 事件,TextField可产生 TextEvent 和 ActionEvent 事件,下拉列表可产生 ItemEvent 项目事件。当用户单击复选框使其选中状态发生变化时就会引发 ItemEvent 类代表的选择事件。滚动条可以引发 AjustmentEvent 类代表的调整事件。 20.ActionEvent事件类包含 ACTION_PERFOMED 事件,该事件通过 ActionListener 接

口进行监听,通过调用 addActionListener() 方法将事件源注册到监听器,通过调用 actionPerformed(ActionEvent e) 方法实现监听后的动作,通过调用 getSource()方法 可以获得发生事件的事件源对象,调用 getActionCommand() 方法可以获取引发事件动作的命令名。

21.通常在itemStateChanged(ItemEvent e)方法里,会调用 e.getItemSelectable() 方法获得产

生这个选择事件的列表(List)对象的引用,再利用列表对象的方法 getSelectedIndex() 或 getSelectedItem() 就可以方便地得知用户选择了列表的哪个选项。

22.列表的双击事件 不能 (能/不能)覆盖单击事件。当用户双击一个列表选项时,首先

产生一个 ItemEvent 事件,然后再产生一个 ActionEvent 事件。 22.调整事件(AdjustmentEvent)类只包含一个事件—— AJUSTMENT_VALUE_CHANGED事件, AjustmentEvent.TRACK 代表鼠标拖动滚动条滑块的动作。

23.调用MouseEvent对象的 getID() 方法就可以知道用户引发的是哪个具体的鼠标事件。 24.在菜单项之间增加一条横向分隔线的方法是 addSeparator() 。

25.将菜单项添加到菜单中以及将菜单添加的菜单栏中所用的方法都是 add() ,将菜单栏添加到窗口中的方法是 setMenuBar() 。

26.对话框构件一般可以接受 ComponentEvent 事件和 FocusEvent 事件。

27.创建字体后,可以用 Graphics 类的成员方法 setFont() 来设置自己希望使用的字体。 28.Java中可以利用Graphics2D类的 drawImage() 方法显示图像。

29.在Swing中完全可以使用 java.awt.event 包中的各种类进行事件处理,同时它也可以

使用 javax.swing.event 包中的类处理事件,而AWT则只能使用 java.awt.event 包中

24

的各种类进行事件处理。 30.可将JOptionPane类的对话框分为4种类型,分别是只给出提示信息的 Message Dialog 、

要求用户进行确认的 Confirm Dialog 、可输入数据的 Input Dialog 和由用户自己定义类型的 Option Dialog 。

第11章

一、填空题

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 包中定义。

25