面向对象程序设计2014复习题

更新时间:2024-04-20 20:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 异常处理

一、选择题

1.java中用来抛出异常的关键字是

A、try B、catch C、throw D、finally 2.关于异常,下列说法正确的是 A、异常是一种对象

B、一旦程序运行,异常将被创建

C、为了保证程序运行速度,要尽量避免异常控制 D、以上说法都不对

3.( )类是所有异常类的父类。

A、Throwable B、Error C、Exception D、AWTError 4.java语言中,下列哪一子句是异常处理的出口 A、try{?}子句 B、catch{?}子句 C、finally{?}子句 D、以上说法都不对 5.下列程序的执行,说法正确的是 public class MultiCatch {

public static void main(String args[]) { try {

int a=args.length; int b=42/a; int c[]={1}; c[42]=99;

System.out.println(“b=”+b); }

catch(ArithmeticException e) {

System.out.println(“除0异常:”+e); }

catch(ArrayIndexOutOfBoundsException e) {

System.out.println(“数组超越边界异常:”+e); } } }

A、程序将输出第15行的异常信息 B、程序第10行出错 C、程序将输出“b=42”

D、程序将输出第15和19行的异常信息 6.下列程序的执行,说法正确的是 class ExMulti{

static void procedure(){ try{

int c[]={1}; c[42]=99; }

catch(ArrayIndexOutOfBoundsException e){

System.out.println(“数组超越界限异常:”+e); } }

public static void main(String args[]){

try{

procedure();

int a=args.length; int b=42/a;

System.out.println(“b=”+b); }catch(ArithmeticException e){

System.out.println(“除0异常:”+e); } } }

A、程序只输出第12行的异常信息 B、程序只输出第26行的异常信息 C、程序将不输出异常信息

D、程序将输出第12行和第26行的异常信息

7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。 class TrowsDemo {

static void procedure() throws IllegalAccessException {

System.out.println(“inside procedure”);

throw____new___IllegalAccessException(“demo”); }

public static void main(String args[]) { try {

procedure(); }

___________ {

System.out.println(“捕获:”+e); } }

8.对于catch子句的排列,下列哪种是正确的( ) A、父类在先,子类在后 B、子类在先,父类在后

C、有继承关系的异常不能在同一个try程序段内 D、先有子类,其他如何排列都无关

9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A、try子句 B、catch子句 C、finally子句 D、throw子句

10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( ) A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常 11.哪个关键字可以抛出异常?

A、transient B、 finally C、 throw D、 static 12.一个异常将终止( )

A、整个程序 B、只终止抛出异常的方法 C、产生异常的try块 D、×上面的说法都不对

二、填空题

1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与____异常__对象的类进行匹配。

2、java虚拟机能自动处理______RuntimeException_____异常。

3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。

4、java语言认为那些可预料和不可预料的出错称为__Throwable_____

5、按异常处理不同可以分为运行异常、捕获异常、声明异常和___自定义异常___几种。 6、抛出异常、生成异常对象都可以通过 Throws 句实现。 7、捕获异常的统一出口通过___finally____语句实现。

8、java语言的类库中提供了一个___Throwable__类,所有的异常都必须是它的实例或它子类的实例。

9、Throwable类有两个子类:______Error____类和Exception类。 10、对程序语言而言,一般有编译错误和____运行____错误两类。

11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。 public class HelloWorld {

int i=0;

String greetings[]= { “Hello world!”, “No,I mean it!”,

“HELLO WORLD!!” };

while(i<4) {

____try____ {

System.out.println(greeting[i]); }

____catch____(ArrayIndexOutOfBoundsException e) {

System.out.println(“Re-setting Index Value”); i=-1;} finally {

System.out.println(“This is always printed”); } i++; } }

三、判断题

1. ( f ) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。或子类的实例! 2. ( t ) 一个异常处理中 finally语句块只能有一个或者可以没有。 3.( t )异常类对象代表当前出现的一个具体异常。

4.( t )java语言中的所有异常类都是java.lang.Throwable的子类。 5.( f ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。 四、编程题

1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试] public class StringIndexOutOf {

public static void main(String args[]) {

System.out.println(\字符串索引越界异常\

String str=args[0]; System.out.println(“第四个字符为 ”+str.charAt(3)); int aa=Integer.parseInt(args[0]); System.out.println(“平方为 ”+aa*aa); } }

2. 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。

3.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

第二章 图形用户界面

一、判断题

1.BorderLayout 是面板的缺省布局管理器。( t )

2.当鼠标指针位于一个 GUI构件的边上时,发生一个 MouseOver 事件。(f ) 3.一个面板(JPanel)不能被加入到另一个面板(JPanel)中。( )

4.在 BorderLayout 中,添加到 NORTH 区的两个按钮将并排显示。( ) 5.在使用 BorderLayout 时,最多可以使用 5 个构件。( ) 6.Swing 构件经常被称为轻量构件。( )

7.在 GUI 上输出文本或提示信息的方法是使用标签。( )

8.为了处理图形用户界面的事件,程序员必须注册一事件监听器。( )

9.用户在 JtextField 和 JpasswordField 输入数据后键入回车键,可以激活一个事件。( ) 10.JCheckBox 类和 JRadioButton 类都是 JtoggleButtond 的子类。( )

11.程序员在创建一个 Frame 时,至少必须创建一个菜单,并将它加入 Frame 中。( ) 12.fill 变量属于 GrideLayout 类。( )

13.在一个程序中不能同时使用 Jframe 和 applet。( ) 14.Jframe 和 applet 的左上角坐标为(0,0)。( ) 15.JTextArea 的文本总是只读的。( )

16.JTextArea 类是 Component 类的直接子类。( ) 17.Box 的缺省布局是 BoxLayout。( ) 18.JTextArea 用于支持对多行文本的操作。( )

19.程序员可以在任何时候用 JScrollPane 类的 setHorizontalScrollBarPolicy 方法和 setVerticalScrollBarPolicy 方法来设置 JScrollPane 的水平滚动条和垂直滚动条。( ) 20.JPanel 只能用来作为接受鼠标事件的专用绘图区域。( ) 二、选择题

1.鼠标被移动时会调用▁▁方法,并且注册一个事件监听器处理此事件。 A actionPerformed B addItemListener C mouseMove

D add

2.用户不能修改的文本是▁▁。 A word 文档 B txt 文档 C 可编辑的 D 不可编辑的

3.▁▁用来在 Container 上排列 GUI构件。 A BorderLayout 类 B Component 类 C 事件控制 D 布局管理器

4.为添加一个构件的 add 方法是▁▁类方法。 A BorderLayout B Component C Container D ButtonGroup

5.使用方法▁▁为构件容器设置布局管理器。 A BorderLayout B setLayout C Container D Component

6.GUI 是▁▁的缩写。 A 布局管理器 B 资源管理器 C 用户界面布局 D 图形用户界面

7.mouseDragged事件先触发了一个▁▁事件接着又触发一个▁▁。 A mousePressed B mouseClicked C mouseReleased D mouseEntered

8.Java 程序的图形用户界面中有那些用户自定义成分? A 几何图形 B 文字 C 颜色控制 D 图像 E.动画

9.当构件中按钮的位置可以被自动调整,应使用哪种布局管理器: A BorderLayout B FlowLayout C CardLayout D GridLayout

11.使用▁▁类创建菜单对象。 A Dimension

B JMenu C JMenuItem D JTextArea

12.使用▁▁方法创建菜单中的分隔条。 A setEditable B ChangeListener C add

D addSeparator

13.向 JTextArea 的▁▁方法传递 false 参数可以防止用户修改文本。 A setEditable B ChangeListener C add

D addSeparator

17.下面哪个菜单组件可以被添加到任何组件中: A MenuBar B HelpMenu

C CheckboxMenuItem D PopMenu E Menu

18.下面哪个组件是独立的组件: A Panel B Window C Frame

D ScrollPanel E FileDialog

20.下面哪个布局管理器是非法的: A FlowLayout B BorderLayout C CardBagLayout D GridLayout

21.实现下列哪个接口可以对 TextField 对象的事件进行监听和处理?____ A MouseMotionListener B FocusListener C ActionListener D WindowListener

22.Frame 的默认的布局管理器是下列哪一个?____ A FlowLayout B CardLayout C GridLayout D BorderLayout

23.下列哪个属于容器的构件?___________ A JPnel B JButton C JFrame

D JApplet

24.如果希望所有的控件在界面上均匀排列,应使用下列哪种布局管理器?_____ A BoxLayout B FlowLayout C BorderLayout D GridLayout

25.监听事件和处理事件____。 A 都由 Listener 完成

B 由 Listener 和窗口分别完成 C 由 Listener 和构件分别完成

D 都由相应事件 Listener 处登记过的构件完成 26.监听器接口的方法返回值是什么? A int B String C void D Object

27.请问如下哪个方法可以将 MenuBar 加入 Frame 中? A setMenu() B setMenuBar() C add()

D addMenuBar() 三、简述题

1.什么是图形用户界面?它与字符界面有何不同?你是否使用过这两种界面?试列出图形用

户界面中你使用过的组件。

2.简述图形界面的构成成分以及它们各自的作用。 设计和实现图形用户界面的工作主要有那两 项?

3.简述 Java 的事件处理机制和委托事件模型。什么是事件源?什么是监听者?Java 的图形 用户界面中,谁可以充当事件源?谁可以充当监听者? 4.动作事件的事件源可以有那些?如何响应动作事件? 5.找出下面语句中的错误,并说明如何改正。 ① buttonName = Jbutton(“Caption”); ② JLable aLable,JLable;//create references;

③ txtField = new JtextField(50,“Default Text”); ④ Container c = getContentPane( ); SetLayout (new GrideLayout(9,9)); button1 = new JButton(“North Star” ); button2 = new Jbutton(“South Pole” ); C add(button1); C add(button2);

6.文本框与文本区域在创建方法、常用方法和事件响应上有何异同?什么操作将引发文本事 件?如何响应文本事件?编写 Applet 包括一个文本框、一个文本区域和一个按钮,当用户单

击按钮时,程序将文本区域中被选中的字符串复制到文本框中。

7.什么是选择事件?那些操作将引发选择事件?可能产生选择事件的 GUI 组件有那些?它们之间有什么异同?分别适合于什么场合?

8.什么是调整事件?调整事件与选择事件有何不同?什么是滚动条/如何创建和使用滚动 条?

9.什么是容器的布局策略?试列举并简述 Java 中常用的几种布局策略。 10.找出下面语句中的错误,并说明如何改。 ① Jmenubar b;

② mySlider = Jslider(1000,222,100,450);

③ gbC fill = GridBagConstraints.NORTHWEST;//set fill ④ //override to paint on a customized Swing component public void paintcomponent(Graphics g) {

g.drawString(“HELLO”,50,50); }

⑤ //create a JFrame and display it JFrame f = new JFrame(“A Window”); f.show( ); 四、编程题

1.编辑一个小程序,显示一个半径为 150 的圆内接五角星,要求圆为黄色填充,五角星为红 色,背景为蓝色,在图片的正下方显示文字“圆内接五角星” ,字体为楷体 12 号,白色,在 下方画一个边框为 5,长 300,高 180 的红色矩形。 2.编辑一个小程序,界面上加入一个标签,显示内容为你的姓名和班级,并注明是 xx 月 xx 日作业,在标签下面增加列表、两个单选框(控制列表是否为多选状态),一个文本框,三个 按钮,分别控制将文本框的内容加入列表、删除、删除全部列表内容,当选择列表时,按照当前状态(是否多选),在文本框中显示用户选择的列表内容。再加入一个文本区,用来显示用户操作的过程,比如:您输入了文字 XXX,您删除了 xxx 等。 3.创建一个 300×200 的窗口,标题为“显示窗口程序” 。

4.仿照记事本的 GUI 编写一个 JAVA 简易记事本程序。只要菜单及界面,具体功能除[退出]外均不用实现。

5.编辑一个应用程序,使用 GridLayout 布局,用两个按钮分别控制当前窗口现实[三行两列]和[两行三列]的标签。

第三章 多线程机制

一、判断题

1.如果线程死亡,它便不能运行。(T )

2.在 Java 中,高优先级的可运行线程会抢占低优先级线程。( T) 3.一个线程在调用它的 start 方法之前,该线程将一直处于出生期。(T ) 4.当调用一个正在进行线程的 stop( )方法时,该线程便会进入休眠状态。(F ) 5.一个线程可以调用 yield 方法使其他线程有机会运行。(T ) 6. 线程可以调用yield方法使低优先级的线程运行。(F)

二、选择题

1.Java 语言中提供了一个▁D▁线程,自动回收动态分配的内存。 A 异步 B 消费者 C 守护 D 垃圾收集

2.Java语言避免了大多数的▁▁C▁▁错误。 A 数组下标越界 B 算术溢出 C 内存泄漏 D 非法的方法参数

3.有三种原因可以导致线程不能运行,它们是▁ACD▁▁▁。 A 等待 B 阻塞 C 休眠

D 挂起及由于 I/O 操作而阻塞

4.当▁A▁方法终止时,能使线程进入死亡状态。 A run B setPrority C yield D sleep

5.用▁B▁方法可以改变线程的优先级。 A run B setPrority C yield D sleep

6.线程通过▁C▁方法可以使具有相同优先级线程获得处理器。 A run B setPrority C yield D sleep

7.线程通过▁D▁方法可以休眠一段时间,然后恢复运行。 A run B setPrority C yield

D sleep

8.▁B▁方法使对象等待队列的第一个线程进入就绪状态。 A run B notify C yield D sleep

9.方法 resume( )负责重新开始▁D▁线程的执行。 A 被 stop( )方法停止 B 被 sleep( )方法停止 C 被 wait( )方法停止 D 被 suspend( )方法停止

10.▁BCD▁方法可以用来暂时停止当前线程的运行。 A stop( ) B sleep( ) C wait( ) D suspend( ) 三、简述题

1.简述程序、进程和线程之间的关系?什么是多线程程序? 答:程序是一段静态的代码,它是应用软件执行的蓝本。

进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程。每一个进程都有自己独立的一块内存空间、一组系统资源。

线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每个线程都有其产生、发展和消亡的过程。

2.线程有那 5 个基本状态?它们之间如何转化?简述线程的生命周期。

答案:线程有“新建” 、 “就绪” 、 “阻塞” 、 “运行” 、 “死亡”5 个基本状态。线程对象被创建时进入“新建”状态;程序执行语句启动这个线程后,它进入线程队列排列等待 CPU 时间片,称为“就绪”状态;等 CPU 时间和其他资源齐备时就进入“运行”状态;线程运行完毕或者被强制终止则进入“死亡”状态。上述线程各状态之间的转换就构成了线程的基本生命周期。

3.什么是线程调度?Java 的线程调度采用什么策略?

答案:安排线程队列中 CPU 时间的线程被称为线程调度。Java 的线程调度采用优先级基础 上的“先到先服务”策略。 4.如何在 Java 程序中实现多线程?

答案: 在 Java 程序中实现多线程最关键是要定义子线程的操作, 即定义子线程的 run( )方法。 具体可以通过派生 Thread 类的子类或实现 Runnable 接口两种方式来实现。

5.试简述 Thread类的子类或实现 Runnable 接口两种方法的异同?

答案:派生 Thread 子类时通过重载父类的方法 run( )来定义子线程的具体操作,然后在主线程中创建并启动该子类的对象为子线程。实现了 Runnable 接口的类必须要实现接口中的 run( )方法,其中同样定义了子线程的操作。但是这个方法中的子线程不是 Thread 子类的对象,而是 Thread 类的对象;在创建 Thread 类对象时把实现了 Runnable 接口和 run( )方法的类作为参数传递给该对象,从而规定它的具体操作。 四、编程题

1.利用多线程技术编写 Applet 程序,其中包含一个滚动的字符串。字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。

[Xianch.java] import java.awt.*; import java.applet.*;

public class Xianch extends Applet implements Runnable {

final String rollingMessage = \, SAILING, I AM SAILING...\ Thread m_Draw = null; int beginX; public void init() {

m_Draw = new Thread(this); }

public void paint(Graphics g) {

g.drawString(rollingMessage, beginX, 40); }

public void start() {

m_Draw.start(); try{

Thread.sleep(50);

}catch(InterruptedException e){} }

public void stop() {

if(m_Draw.isAlive())

m_Draw.stop(); }

public void run() { try {

while(true) {

beginX = ++beginX % getWidth(); repaint(); Thread.sleep(100); } }

catch(InterruptedException e) { } } }

第四章 输入/输出处理

一、判断题

1.程序员必须创建 System .in,System .out 和 System .err 对象。( )

2.如果顺序文件中的文件指针不是指向文件头,那么必须先关闭文件,然后在再打开它才能从文件头开始读。( )

3.在随机存取中查找指定记录时不必检查每一条记录。( ) 4.随机存取文件中的记录必须等长。( ) 5.seek 方法必须以文件头为基准进行查找。( ) 6.Java 中的每个文件均以一个文件结束标记(EOF),或者以记录在系统管理数据结构中的 一个特殊的字节编号结束。( )

7.如果要在 Java 中进行文件处理,则必须使用 Java .swing 包。( ) 8.InputStream 和 OutputStream 都是抽象类。( )

9.Java 语言中对文件没有结构要求,所以需要使用随机存取的程序必须自己建立它们。( ) 10.当把一个 RandomAccessFile 流与一个文件相联是,读写数据的位置由文件位置指针来 指定,并且所有数据均以基本数据类型来读写。( ) 二、选择题

1.计算机处理的数据最终分解为▁▁的组合。 A 0

B 数据包 C 字母 D 1

2.计算机处理的最小数据单元称为▁▁。 A 位 B 字节 C 兆 D 文件

3.一组相关记录称为▁▁。 A 位 B 字节 C 字符 D 数据库

4.字母、数字和特殊符号称为▁▁。 A 位 B 字节 C 字符 D 文件

5.▁▁文件流类的 close 方法可用于关闭文件。 A FileOutStream B FileInputStream C RandomAccessFile D FileWrite

6.RandomAccessFile 类的▁▁方法可用于从指定流上读取整数。 A readInt B readLIne C seek D close

7.RandomAccessFile 类的▁▁方法可用于从指定流上读取字符串。 A readInt B readLIne C seek D close

8.RandomAccessFile 类的▁▁方法可用于设置文件定位指针在文件中的位置。 A readInt B readLIne C seek D close

9.在 FilterOutputStream 类中,下面哪个类是合法: A File

B InputStream C OutputStream D FileOutputStream

10.在▁▁情况下用户能使用 File 类。 A 改变当前的目录 B 返回根目录名 C 删除一个文件

D 查找一个文件是否包含文本或二进制信息 三、简述题

1.Java 的输入输出类库是什么?Java 的基本输入输出类是什么?流式输入输出的特点是什 么?

2.Java程序使用什么类来管理和处理文件?写出一条语句在C盘的windows目录下创建一个 子目录 myJavaPath。

3.RandomAccessFile 与其他输入输出类有何不同?它实现了那两个接口,具有那些较为强大的输入输出功能?

第五章 Applet

一、判断题

1. Applet 可以与服务器以外的任何其他主机通信。( ) 2. Applet 的执行从 init() 方法开始。 ( ) 3. Applet 中不一定要声明 main( )方法。 ( )

4.Java 目前支持两种格式的图像文件,这两种类型的文件名分别以.jif 和.gpg 结束。( ) 5.重构 applet 的 update 方法调用不清除 applet 的 paint 方法将显著地减少动画闪烁。( ) 6.Graphics 类提供用于画图的方法。( )

7.在 Applet 的坐标系中,(0,0) 代表输出窗口左上角的象素点。( ) 8. Applet 中输出文字使用 println 方法。( ) 9. drawRect 方法绘制实心矩形。( )

10.Java 提供两种在 applet 中播放声音的机制: Applet 类的 play 方法和 AudioClip 接口的

play 方法。( )

11. Applet 程序提取 HTML 文件中参数的命令是。( ) 12.URL 方法返回当前网页所在的 URL。( ) 二、选择题

1.任何一个 Applet 开始执行时必然会自动调用三个方法,它们被调用的顺序是: A init paint start B init start paint C paint start init D start paint init

2.每当浏览器的用户再次访问 applet 所在的 HTML 页时都调用▁▁方法。 A main B restart C start D update

3.每当浏览器的用户离开 applet 所在的 HTML 页时都调用▁▁方法。 A pause B repaint C stop D paint

4.下面程序的正确输出结果是: import javax.swing.JApplet; import javA awt.Graphics;

public class WelcomeLines extends JApplet { public void paint( Graphics g ) {

g.drawLine( 15, 15, 210, 15 ); g.drawLine( 15, 35, 210, 35 );

g.drawString( \ } }

A 上方显示一条横线,下方显示 Java Programming! B 下方显示一条横线,上方显示 Java Programming! C 上下方各显示一条横线,中间显示 Java Programming! D 上方显示 Java ,下方显示 Programming! 5.下面语句书写正确的是: A import java swing; B import java swing.*;

C import java swing.JApplet; D import java swing.JoptionPane;

6.下列方法中,▁▁方法通常是一个 applet 中定义的第一个方法。 A start B init C paint D stop

8.在 g.drawRect(15,18,300,20)的语句中,▁▁代表矩形的宽度和高度。 A 15 18 B 18 300 C 300 20 D 20 15

10. applet 中播放声音的方法是▁▁。 A Applet 类的 play 方法

B MediaTracker 类的 play 方法 C AudioClip 接口的 play 方法 D Sound 接口的 play 方法

11.Applet 类的▁▁方法将图像装入 applet。 A drawing B drawImage C getImage D getPicture

12.Graphics 类的▁▁方法在上 applet 显示图像。 A getImage B show C update D drawImage 三、简述题

1.什么是 applet?它与 Java 应用程序有什么区别?

2.出于安全考虑,applet 被赋予了严格限制,这些限制主要包括哪些内容? 3.Applet 类中,方法 init()、start()、stop()和 destroy()何时被调用?

4.写 Java 语句,实现在 1 行中从(15,15)开始画出消息“This is a Java Program” 。 5. 写 Java 语句,自(20,10)处显示文字“This is a Java” ,在其下方的同一位置显示文 字“program” 。

6.Panel 与 Applet 有何关系?Panel 在 Java 程序里通常起到什么作用?

第六章 JDBC 基础

一、判断题

1.最流行的数据库查询语言是 SQL。( ) 2.Java 将表可以作为 connection 对象来操作。( ) 3.关键字唯一地表示表中的每个记录。( ) 4.数据库是集中控制的数据的有机集合。( )

5.Applet 包中含有 Java 中操作关系数据库的类和接口。( ) 6.sun .jdbc .odbc 类代表了 JDBC 到 ODBC 数据库驱动程序。( ) 7.共享是数据库系统的一个关注焦点。( ) 8.数据库系统的主要特点之一是数据的独立性,既应用程序无需关心数据的存储和访问。( ) 9.宿主语言通常包括一种数据库子语言,用于处理数据库对象和操作的细节。( ) 10.数据库的表一般都有主关键字,但主关键字并不是必需的。( ) 二、选择题

1.数据库的表由▁▁和▁▁组成。 A 行 B 数据 C 列 D 方法

2.SQL 关键字▁▁的后面是在查询中选择记录的条件。 A WHERE B ORDER BY C INNER JOIN D ON

3.SQL 关键字▁▁指定记录的排序顺序。 A WHERE B ORDER BY C INNER JOIN D ON

4.SQL 关键字▁▁用于合并两个或多个表。 A WHERE B ORDER BY C INNER JOIN D ON

5.▁▁同时是另一个表中的主关键字。 A WHERE B ORDER BY C INNER JOIN

D 外关键字

6.一个▁▁对象用于向数据库提交查询。 A ResultSet B Connection C Statement D Applet

7.数据库模型主要有: A 层次模型 B 网状模型 C 关系模型 D 结构模型

8.下面说法错误的是:

A 当某个字段被指定为主关键字字段时,不对这个字段赋值将违反实现完整性规则,是错误的。

B 当某个字段被指定为主关键字时,多个记录在这个字段使用相同的值是错误的。 C 在不区分大小写的系统上,SQL 关键字按惯例全部使用大写字母。 D 使用选择标准减少从数据库返回的记录数不能提高性能 9.Java 通过▁▁接口的方法提供事物处理。 A ResultSet B Connections C Connection D Statement

10.下面语句书写有误的是:

A SELECT * FROM 表名 WHERE 标准

B SELECT * FROM 表名 ORDER BY 字段 ASC

C SELECT * FROM 表名 WHERE 标准 ORDER BY 字段 ASC D SELECT * FROM 表 1 INNER JOIN 表 2 三、简述题

1.试简述数据库系统的主要优点。

2.与层次和网状模型相比,关系数据库的组织形式有那些优点? 3.试建立一个Book.mdb数据库, 该数据库包含4 个表: Authors、 Publishers、 AuthorISBN 和 Title。

第一章 异常处理

一、 选择题 1、C 2、A 3、A 4、C 5、A 6、D 7、new,catch (IllegalAccessException e) 8、B 9、C 10、C 11、C 12、C 二、填空题 1、异常 2、RuntimeException 3、finally 4、Throwable 5、自定义异常 6、throws 7、finally 8、Throwable 9、Error 10、运行 11、try,catch 三、判断题

1、F 2、T 3、T 4、T 5、F

四、编程题

1、public class StringIndexOutOf{

public static void main(String args[]){

System.out.println(\字符串索引越界异常\

String str=args[0]; try{

System.out.println(\第四个字符为 \ int aa=Integer.parseInt(args[0]);

System.out.println(\平方为 \ }catch(StringIndexOutOfBoundsException e){ System.out.println(\字符串索引越界\ }

catch(NumberFormatException e){

System.out.println(\格式转换异常\ } } }

2、class test{

public static void main(String args[]){

try{

if(args.length<5) throw new Exception(); int intarray[]=new int[args.length]; for(int i=0;i

intarray[i]=Integer.parseInt(args[i]); for(int i=0;i

System.out.println(\请输入整数\ }

catch(Exception e){

System.out.println(\请输入至少5个整数\ } }

3、class test{

void sanjiao(int a,int b,int c) throws IllegalArgumentException{ if(a+b>=c && a+c>=b && b+c>=a) System.out.println(\三角形的三个边长为:\ else throw new IllegalArgumentException(); }

public static void main(String args[]){ int intarray[]=new int[args.length]; for(int i=0;i

intarray[i]=Integer.parseInt(args[i]); test t=new test();

try{

t.sanjiao(intarray[0],intarray[1],intarray[2]); }catch(IllegalArgumentException e){

System.out.println(e.getClass().getName()+\\\不能构成三角形\

} }

第二章 图形用户界面

一、判断题 1.难度:容易 答案:正确

知识点:BorderLayout 类的定义。 2.难度:适中 答案:错误

知识点:调用一个 mouseEntered 方法。 3.难度:容易 答案:错误

知识点:一个面板(JPanel)可以被加入到另一个面板(JPanel)中。因为 Jpanel 间接的来自 Component,因此 Jpanel 也是一个 Component。任何 Component 都可以被添加到Container 中。

4.难度:容易 答案:错误

知识点:只有最后添加的按钮会显示。 5.难度:容易 答案:正确

知识点:BorderLayout 类的使用。 6.难度:适中 答案:正确

知识点: Swing 构件是用 Java 写成的, 因此就不需要使用那些相关于各种平台的复杂的 GUI功能。AWT 构件被系在各自的本地平台上,相应的程之为重量级构件。 7.难度:适中 答案:正确

知识点:标签的使用。 8.难度:适中 答案:错误

知识点:为了处理图形用户界面的事件,程序员必须完成两个关键任务:注册一事件监听器和实现一事件处理器。 9.难度:容易 答案:正确

知识点:JtextField 和 JpasswordField 只有一行的区域,它们接收来字键盘的输入或输出简单的显示信息。 10.难度:适中 答案:正确

知识点:JCheckBox 类与 JRadioButton 类的不同之处在于通常由好几个 JradioButton组成一组,并在任何时候这一组 JradioButton 进有一个能被选择为真。 11.难度:容易 答案:错误

知识点:JFrame 不需要含有任何菜单。 12.难度:适中 答案:错误

知识点:变量 fill 属于 GridBagConstrains 类。 13.难度:适中 答案:错误

知识点:它们可以在一起使用。 14.难度:容易 答案:正确

知识点:JFrame 和 applet 的左上角坐标都是(0,0)。 15.难度:容易 答案:错误

知识点:缺省时,JTextArea 是可编辑的。 16.难度:容易 答案:错误

知识点:JTextArea 从 JTextComponent 中继承。 17.难度:适中 答案:正确

知识点:Box 的缺省布局是 BoxLayout。 18.难度:容易 答案:正确

知识点:JTextArea 的使用。 19.难度:适中 答案:正确

知识点 : JScrollPane 类的 setHorizontalScrollBarPolicy 方法和setVerticalScrollBarPolicy 方法的使用。 20.难度:容易 答案:错误

知识点: JPanel 能用来作为接受鼠标事件的专用绘图区域, 它也经常被扩展用来创建新

构件。 二、选择题 1.难度:适中 答案:C

知识点:mouseMove 方法的使用。 2.难度:容易 答案:D

知识点:只读文本是不能修改的。 3.难度:容易 答案:D

知识点:布局管理器的使用。 4.难度:适中 答案:C

知识点:Container 类方法的使用。 5.难度:容易 答案:B

知识点:方法 setLayout 的使用。 6.难度:容易 答案:D

知识点:图形用户界面的英文缩写。 7.难度:适中 答案:AC

知识点:mouseDragged 事件所触发的事件。 8.难度:适中 答案:ABCDE

知识点:Java 图形用户界面中自定义成分。 9.难度:适中 答案:B

知识点:FlowLayout 布局管理器的使用。 11.难度:容易 答案:B

知识点:JMenu 类的使用。 12.使难度:容易 答案:D

知识点:addSeparator 方法的使用。 13.难度:容易 答案:A

知识点:setEditable 方法的使用。 17.难度:适中 答案:D

知识点:PopMenu 是一个可以被添加到任何组件中的独立弹出式菜单。 18.难度:适中 答案:BCE

知识点:Panel 必须被添加到窗口或框架上去,而 ScrollPanel 必须被添加到一个容器中去。

20. 难度:容易 答案:C

知识点在 Java 中合法的布局管理器有:FlowLayout、BorderLayout、CardLayout、 GridLayout、GridBagLayout。 21. 难度:容易 答案:C

22. 难度:容易 答案:D

23. 难度:容易 答案:C

24. 难度:容易 答案:D

25. 难度:容易 答案:D

26. 难度:容易 答案:C

27. 难度:容易 答案:B 三、简述题 1.难度:适中

答案:图像用户界面,使用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果以图形的方式显示给用户。字符界面使用单纯的字符作为计算机系统的输入输出。对于熟悉字符命令的用户,它可以提供更加强大、复杂的操作灵活性,但是不能处理非文字的信息,而且不如图形界面方便、直观、友好。图形界面中常用的组件有菜单、文本域、标签、选择钮、列表、按钮、滚动条等。

知识点:图形用户界面与字符界面的区别。 2.难度:适中

答案:Java 中图形界面的构成成分可以大致分类:容器、控制组件、用户自定义成分。容器用来包容和组织其他界面成分;控制组件是完成与用户交互的最小单元; 用户自定义成分通常只有显示功能,不能接收用户的输入。设计和实现图形用户界面的工作主要有两个:创建、组织各成分和定义各成分的功能,即它们对事件的响应。 知识点:图形界面的构成成分以及它们各自的作用。 3.难度:适中 答案:事件处理的特殊之处在于其操作的启动不是主动地掌握在程序流程中,而是由与程序交互的用户在使用程序时即兴决定的。相应地,事件处理机制必须具有监听的功能,以便随时监测用户的动作。要实现监听功能,必须有事先定义好的事件,并规定不同事件由什么事件源产生,有什么监听者处理。事件源是可能产生事件的图形用户界面组件。监听者定义了处理事件源所产生的事件的操作,把事件源注册给按事件类型匹配的监听者后,系统在监听到事件源产生的事件后自动调用监听者中定义的操作完成交互过程,这就是 Java 的事件处理机制。把事件源注册给监听者,让监听者处理事件,称为委托事件模型。能够产生事件的就时间源,实现了处理事件的接口的就是监听者。在 Java 图形用户界面中,事件源通常是各种控制组件,监听者通常是各种容器相关。

知识点:Java 的事件处理机制和委托事件模型的概念。

4.难度:容易

答案:按钮(Button)、文本组件(TextField,TextArea)、列表(List)和菜单选项(MenuItem)都 是动作事件源。响应动作事件需要注册动作事件源,实现 actionPerformed( )方法。 知识点:动作事件的事件源的概念。 5.难度:适中

答案:①需要 new 来实例化对象。 ②Jlale 是类名,不能用作变量名。

③传送构造函数的参数颠倒了。第一个参数必须是 String。

④已经设置了 GrideLayout 布局管理器, 但添加的构件没有指定区域。 正确的 add 语句应为:

C add(button1,BorderLayout.NORTH); C add(button2,BorderLayout.NORTH); 知识点:简单语句的操作。 6.难度:适中

答案:文本框与文本区域都是文件组件,它们的方法和事件响应在原理上基本相同。不同之处是:文本框只有一行文本,文本区域可以容纳若干行文本,并文本区域不能响应动作事件。在文本组件中输入、编辑字符将引发文本事件。响应文本事件需要实现 textValueChanged( ) 方法。

知识点:文本框与文本区域在创建方法、常用方法和事件响应上的区别。 7.难度:适中 答案:选择事件是代表选择项的选择状态发生变化的事件。改变下拉列表、列表、复选按钮、 检测盒的选择状态将引发选择事件。复选按钮适合只有两种可能的“二选一”情况,例如“是” 或“否” 。单选按钮组和下拉列表适合“多选一”的情况;不同的是单选按钮组把所有的选项都列在界面上,下拉列表把选项隐藏起来,适合于选项较多的情况。列表的外观与下拉列表相同,但是适合于“多选多”的情况。 知识点:选择事件的概念。 8.难度:适中 答案:调整事件代表状态会发生连续变化的事件。选择事件代表在有限的若干个状态中选择一个,而且调整事件代表的状态变化是连续的,通常远远多于选择事件所包含的状态数目。知识点:调整事件的概念以及调整事件与选择事件的区别。 9.难度:适中 答案:容器的布局策略用来指定这个容器如何组织其中个控件的相互显示位置关系。Java 中 常用的布局策略有 :

FlowLayout,BorderLayout,CardLayout,GridLayout,GridBagLayout。 10.难度:适中

答案 : ① Jmenubar 应该为 JmenuBar 。 ② 构造函数的第一个参数应该是

SwingConstraints.HORIZONTAL 或 SwingConstants.VERTICAL,并且 new 操作符必 须放在=操作符后面。③常量应该是 BOTH,HORIZONTAL,VERTICAL 或 NONE。④ paintcomponent 应改为 paintComponent , 并且此方法的第一条语句应调用

114 super.panintComponent( g )。⑤必须调用 JFrame 的 setSize 方法来决定窗口的大小。 知识点:基本语句的书写。 四、编程题 1.难度:适中

答案:源程序:draws.java

import javA applet.*; import javA awt.*;

public class draws extends Applet {

public void init() {

setBackground(Color.blue); }

public void paint(Graphics g) {

g.setColor(Color.yellow); g.fillOval(0,0,300,300); int xa[]=new int[5]; int ya[]=new int[5]; int j=0;

Polygon p1=new Polygon(); int x0=150; int y0=150; int x1,y1;

for(float q=54;q<415.0;) {

x1=x0+(int)(150*Math.cos(Math.toRadians(q))); y1=y0+(int)(150*Math.sin(Math.toRadians(q))); p1.addPoint(x1,y1); q=q+36;

x1=x0+(int)(59*Math.cos(Math.toRadians(q))); y1=y0+(int)(59*Math.sin(Math.toRadians(q))); p1.addPoint(x1,y1); q=q+36; }

g.setColor(Color.red); g.fillPolygon(p1);

g.setColor(Color.white);

115 g.setFont(new Font(\楷体 GB_2312\ String s=\圆内接五角星\ g.drawString(s,110,320); g.setColor(Color.red); } }

2.难度:中等

答案:源程序:Guitest.java import javA awt.*; import javA applet.*; import javA awt.event.*;

public class Guitest extends Applet implements ActionListener,ItemListener {

Label lbl; List lst;

CheckboxGroup cbg; Checkbox chk[]; TextField txtInput;

Button btnAdd, btnDelete, btnDeleteAll; TextArea textShow; public void init() {

lbl = new Label(\号 xxx 月 xx 日,xxxx 年\add(lbl);

lst = new List(5);

lst.addItemListener(this); add(lst);

cbg = new CheckboxGroup(); chk = new Checkbox[2];

chk[0] = new Checkbox(\可以多选\ chk[0].addItemListener(this);

chk[1] = new Checkbox(\不可多选\ chk[1].addItemListener(this); add(chk[0]); add(chk[1]);

txtInput = new TextField(18); add(txtInput);

btnAdd = new Button(\添加\ btnAdD addActionListener(this); btnDelete = new Button(\删除\ btnDelete.addActionListener(this);

btnDeleteAll = new Button(\删除全部\ btnDeleteAll.addActionListener(this); add(btnAdd); add(btnDelete); add(btnDeleteAll);

textShow = new TextArea(\下面是你的操 作过程 :SCROLLBARS_BOTH); add(textShow); }

public void paint(Graphics g) { }

public void actionPerformed(ActionEvent e) {

\

if(e.getActionCommand().equals(\添加\添加 {

if (txtInput.getText() != \ {

lst.add(txtInput.getText());

textShow.setText(\你添加了[\ txtInput.setText(\ } }

else if (e.getActionCommand().equals(\删除\删除 {

textShow.setText(\你删除了[\ lst.remove(lst.getSelectedIndex()); }

else if (e.getActionCommand().equals(\删除全部\删除全部 {

textShow.setText(\你删除了全部列表项!\ lst.removeAll(); } }

public void itemStateChanged(ItemEvent e) {

if (chk[0].getState()) //多选 {

lst.setMultipleMode(true); return; }

else if (chk[1].getState()) //单选 {

lst.setMultipleMode(false); return; } } }

3.难度:简单 答案:

import javA awt.*; import javax.swing.*; import javA awt.event.*;

public class jwindowl extends JFrame {

public jwindowl() {

super(\显示窗口程序\

setSize(300,200); show(); }

118 public static void main(String args[]) {

jwindowl app=new jwindowl(); } }

4.答案

import javA awt.*;

import javA awt.event.*; import javax.swing.*;

public class notepad extends Frame {

private MenuBar mnb = new MenuBar();

private Menu mnFile = new Menu(\文件(H)\

private MenuItem mniNew = new MenuItem(\新建\ private MenuItem mniOpen = new MenuItem(\打开\ private MenuItem mniSave = new MenuItem(\保存\ private MenuItem mniSave1= new MenuItem(\另存为\ private MenuItem mniYM = new MenuItem(\页面设置\ private MenuItem mniPrint= new MenuItem(\打印\ private MenuItem mniExit = new MenuItem(\退出\ private Menu mnEdit = new Menu(\编辑\

private MenuItem mniZ = new MenuItem(\撤消\ private MenuItem mniCut = new MenuItem(\剪贴\ private MenuItem mniCopy = new MenuItem(\复制\ private MenuItem mniV = new MenuItem(\粘贴\ private MenuItem mniDele = new MenuItem(\删除\ private MenuItem mniFind = new MenuItem(\查找\

private MenuItem mniFind1= new MenuItem(\查找下一个\ private MenuItem mniExch = new MenuItem(\替换\ private MenuItem mniGo = new MenuItem(\转到\ private MenuItem mniAll = new MenuItem(\全选\

private MenuItem mniTime = new MenuItem(\时间/日期\ private Menu mnFormat= new Menu(\格式\

private CheckboxMenuItem mniLine = new CheckboxMenuItem(\自动换行\ private MenuItem mniFont = new MenuItem(\字体\119 private Menu mnHelp= new Menu(\帮助\

private MenuItem mniHelp = new MenuItem(\帮助主题\ private MenuItem mniAbout= new MenuItem(\关于记事本\ private Panel pnl = new Panel();

private TextAreatxtShow = new TextArea(); public LiXing1024()

{

super(\我的记事本\ setMenuBar(mnb); add(txtShow);

mnFile.add(mniNew); //文件 mnFile.add(mniOpen); mnFile.add(mniSave); mnFile.add(mniSave1); mnFile.addSeparator(); // mnFile.add(mniYM); mnFile.add(mniPrint); mnFile.addSeparator(); // mnFile.add(mniExit);

mniExit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {

System.exit(0); } });

mnB add(mnFile);

mnEdit.add(mniZ); //编辑 mnEdit.addSeparator(); // mnEdit.add(mniCut); mnEdit.add(mniCopy); mnEdit.add(mniV); mnEdit.add(mniDele); mnEdit.addSeparator(); // mnEdit.add(mniFind);

120 mnEdit.add(mniFind1); mnEdit.add(mniExch); mnEdit.add(mniGo); mnEdit.addSeparator(); // mnEdit.add(mniAll); mnEdit.add(mniTime); mnB add(mnEdit);

mnFormat.add(mniLine); //格式 mnFormat.add(mniFont); mnB add(mnFormat);

mnHelp.add(mniHelp); //帮助 mnHelp.addSeparator(); // mnHelp.add(mniAbout); mnB add(mnHelp); }

public static void main(String args[])

{

notepad xx = new notepad (); xx.setBounds(30,30,450,360); xx.show(); } }

5.难度:较难 import javA awt.*;

import javA awt.event.*;

public class GridLayoutDemo extends Frame

implements ActionListener { private Label labels[]; private String names[] = {

\标签 1\标签 2\标签 3\标签 4\标签 5\标签 6\ private Button button1, button2;

private GridLayout grid1 = new GridLayout(3, 2) , grid2 = new GridLayout(2, 3); 121 private Panel panel1,panel2; public GridLayoutDemo() { super(\

setLayout(new GridLayout(2,1)); panel1 = new Panel(); panel1.setLayout(grid1);

labels = new Label[names.length];

for (int count = 0; count < names.length; count++) {

labels[count] = new Label(names[count], Label.CENTER); panel1.add(labels[count]); }

add(panel1, BorderLayout.CENTER); panel2 = new Panel();

button1 = new Button(\三行两列\ button1.addActionListener(this); button2 = new Button(\两行三列\ button2.addActionListener(this); panel2.add(button1); panel2.add(button2);

add(panel2, BorderLayout.SOUTH); setSize(300, 150); setVisible(true); }

public void actionPerformed(ActionEvent event) { if(event.getSource() == button1){ panel1.setLayout(grid1);

}

if(event.getSource() == button2){ panel1.setLayout(grid2); }

panel1.validate(); }

public static void main(String args[]) {

GridLayoutDemo application = new GridLayoutDemo(); } }

第四章输入输出

一、判断题 1.难度:容易 答案:错误

知识点:这三个流会自动生成。 2.难度:适中 答案:正确

知识点:文件指针的使用。 3.难度:容易 答案:正确

知识点:随机存取中查找的使用。 4.难度:容易 答案:错误

知识点:一个随机存取文件中的记录长度一般相等。 5.难度:容易 答案:正确

知识点:seek 方法的使用。 6.难度:适中 答案:正确

知识点:Java 中文件的管理。 7.难度:适中 答案:错误

知识点:如果要在 Java 中进行文件处理,则必须使用 Java .io 包。 8.难度:容易 答案:正确

知识点:它们分别定义了实现输入和输出的方法。 9.难度:容易 答案:正确

知识点:对文件的随机存取。 10.难度:适中 答案:正确

知识点:随机存取文件的创建。 二、选择题

1.难度:容易 答案:AD 知识点:计算机最终能处理的数据只能为 0 和 1。 2.难度:容易 答案:A 知识点:计算机处理的最小数据单元是位。 3.难度:容易 答案:D 知识点:数据库的概念。 4.难度:容易 答案:C 知识点:字符的概念。

5.难度: 适中 答案: ABC 知识点: FileOutStream、 FileInputStream、 RandomAccessFile 文件流类的 close 方法可用于关闭文件。

6.难度:适中 答案:A 知识点:readInt 方法的使用。 7.难度:适中 答案:B 知识点:readLIne 方法的使用。 8.难度:适中 答案:C 知识点:seek 方法的使用。

9.难度:适中 答案:C 知识点:在 FilterOutputStream 类中只有一种结构:public FilterOutputStream(OutputStream)。

10.难度:适中 答案:B 知识点:File 类的使用。 三、简述题 1.难度:容易

答案:Java 的输入输出类库是 Java .io 包。Java 的基本输入输出类是类 InputStream 和 OutputStream 类。流式输入输出的一大特点是数据的写入、读取都是沿着数据流序列的顺 序进行。

知识点:Java 的基本输入输出类的概念及流式输入输出的特点。 2.难度:适中

答案:Java 程序使用 File 类来管理和处理文件。下面的语句可以在 C 盘的 windows 目录下 创建 myJavaPath 子目录:

File myDir = new File(“C:\\windows\\myJavaPath”); If(! MyDir.exist( ) ) MyDir.mkdir( );

知识点:File 类的使用及创建子目录的方法。 3.难度:适中

答案:RandomAccessFile 类与其他文件输入输出类的最大不同在于:首先它可以实现在文 件任意位置的随机读写; 其次它可以实现任意类型数据的读写, 这是因为它实现了 DataInput 和 DataOutput 两个数据读写接口。

知识点:RandomAccessFile 与其他输入输出类的比较。

第五章 Applet

一、判断题 1.难度:容易 答案:错误

知识点:Applet 的安全性。 2.难度:容易 答案:正确

知识点:init 方法用于 Applet 的初始化。 3.难度:适中 答案:正确

知识点:Applet 与 Application 的区别。 4.难度:容易 答案:错误

知识点:应该是.gif 和.jpg。 5.难度:适中 答案:正确

知识点:applet 的 update 方法调用。 6.难度:容易 答案:正确

知识点:对 Graphics 类中所有方法的了解。 7.难度:容易 答案:正确

知识点:Applet 的坐标系。 8.难度:容易 答案:错误

知识点:drawString 方法用来在 Applet 中输出文字。 9.难度:适中 答案:错误

知识点:fillRect 方法绘制实心矩形。 10. 难度:适中 答案:正确

知识点:Java 提供的在 applet 中播放声音的机制。 11.难度:适中 答案:错误

知识点:应为 getParameter(String 参数名)。 12.难度:较难 答案:错误

知识点:getDocumentBase 返回当前网页所在的 URL。 二、选择题 1.难度:适中 答案:B

知识点: 必须按 init,start,paint 顺序调用。 2.难度:适中 答案:C

知识点:每当浏览器的用户再次访问 applet 所在的 HTML 页时都调用 start方法。 3.难度:适中 答案:C

知识点:每当浏览器的用户离开 applet 所在的 HTML 页时都调用 stop方法。 4.难度:适中 答案:C

知识点:使用 Graphics 类的 drawLine 方法来画线。 5.难度:适中 答案:B

知识点:*号表示 javA swing 包的任何类都可以使用,如果使用类的完整名称,从而省略

import 语句。 6.难度:容易 答案:B

知识点:init 不仅是程序员在一个 applet 中定义的第一个方法,而且也是第一个被调用的方法,在整个 applet 的执行期间,init 方法只被调用一次。 8.难度:容易 答案:C

知识点:第 3 和第 4 个参数是非负整数,以像素为单位,分别代表矩形的宽度和高度,该语句从坐标(15,18)处画一个 300 像素宽,20 像素高的矩形。 10.难度:适中 答案:AC

知识点:applet 中播放声音的机制。 11.难度:容易 答案:C

知识点:getImage 方法。 12.难度:容易 答案:D

知识点:drawImage 方法。 三、简述题 1. 难度:容易

答案:Applet 是指用 Java 语言编写的小应用程序,它们可以直接嵌入到网页中,并能够产 生特殊的效果。Java 应用程序是那些在控制台运行的 Java 程序。它们在许多地方都是不同

的,下表列出了这两种程序的主要区别。 Applet Application

Applet 基本上是为部署在 Web 上而设计的 应用程序是作为独立程序工作而设计的是通过扩展 java.applet.Applet 类创建的 应用程序不受这种限制 Applet 通过 appletviewer 或在支持 Java

的浏览器上运行 应用程序使用 Java 解释器运行

Applet 的执行从 init() 方法开始 应用程序的执行从 main() 方法开始 Applet 必须至少包含一个 public 类,在该

类中不一定要声明 main( )方法。 应用程序的public 类中必须包括main( ) 方法,否则无法运行。 2. 难度:容易

答案:与 Application 应用程序相比,对 Applet 的执行作了许多限制,主要内容如下: (1) 禁止 Applet 运行时执行另外一个程序。

(2) Applet 不能读写客户端计算机中的任何文件。 (3) Applet 不能与除服务器以外的任何其他主机通信。

(4) Applet 只能获取本地计算机中当前使用的 Java 版本、操作系统的名字和版本、用来分离文件、路径以及行的字符。除此以外,Applet 不能获取任何其它关于本地计算机的信 息。

(5) Applet 弹出的所有窗口都会带有一警告消息,告诉用户这是一个 Applet。 3. 难度:适中

答案:当 Apple 所在网页第一次被支持 Java 的浏览器加载时,init()方法会被自动调用。

系统在调用完 init()方法之后, 将自动调用 start()方法。 而且每当浏览器从图标恢复为窗口时,或者用户离开包含该小应用程序的主页后又再返回时,系统都会再执行一遍 start()方法。当用户离开小应用程序所在页面或浏览器变成图标时,会自动调用 stop()方法。当用户正常关闭浏览器时,Java 会自动调用 destroy()方法。 4.难度:容易

答案:g.drawString(“This is a Java program”,15,15 ); 5. 难度:适中

答案:g .drawString(“This is a Java”,20,10); g .drawString(“program”,20,25); 6.难度:适中

答案:Applet 是 Panel 的子类。Panel 通常包含若干组件,它把它们作为一个整体加入到其他容器中,从而实现层次化地组织各个组件。 知识点:Panel 与 Applet 的关系。

第六章 JDBC基础

一、判断题 1.难度:容易 答案:正确

知识点:SQL 是目前最流行的数据库查询语言。 2.难度:容易 答案:错误

知识点:Java 将表可以作为 ResultSet 对象来操作。 3.难度:适中 答案:错误

知识点:主关键字唯一地表示表中的每个记录。 4.难度:容易 答案:错误

知识点:数据库的使用。 5.难度:适中 答案:错误

知识点:应该是 java .sql。 6.难度:适中 答案:正确

知识点:应该是 sun .jdbc .odbc .JdbcOdbcDriver。 7.难度:容易 答案:错误

知识点:安全是数据库系统的一个关注焦点,共享是数据库系统的一个重要优势,不同的应用程序可以使用同一数据。 8.难度:适中 答案:正确

知识点:数据库系统中数据的独立性。 9.难度:容易

答案:正确

知识点:宿主语言的概念。 10.难度:适中 答案:正确

知识点:主关键字的使用。 二、选择题 1.难度:容易 答案:AC

知识点:数据库表的组成。 2.难度:容易 答案:A

知识点:关键字 WHERE 的使用。 3.难度:容易 答案:B

知识点:关键字 ORDER BY 的使用。 4.难度:容易 答案:C

知识点:关键字 INNER JOIN 的使用。 5.难度:适中 答案:D

知识点:外关键字的使用。 6.难度:容易 答案:C

知识点:Statement 类的使用。 7.难度:适中 答案:ABC

知识点:数据库的主要模型。 8.难度:适中 答案:D

知识点:使用选择标准减少从数据库返回的记录数,因而提高性能。 9.难度:适中 答案:C

知识点:Java 通过 Connection 接口的方法提供事物处理。Connections 是类不是接口。 10.难度:适中 答案:D

知识点:多个表合并数据应写成:

SELECT * FROM 表 1 INNER JOIN 表 2 ON 表 1.字段 = 表 2.字段 三、简述题 1.难度:容易

答案:数据库系统的主要优点: ? 可以减少数据冗余度。 ? 可以避免数据的不一致。 ? 可以共享数据。 ? 可以实施某些标准。

? 可以采取安全措施。 ? 可以维护数据的完整性。 ? 可以折中某些冲突的要求。

知识点:数据库系统的主要优点。 2.难度:适中

答案:关系数据库的组织形式有如下优点:

①关系数据库的表示形式易于理解,也易于在物理数据库系统上实现。 ②相对来说,比较容易把其他类型的数据库结构转换为关系数据库。 ③投影和连接操作易于实现,使得应用程序可以方便的创建新表。 ④数据库搜索比使用一系列指针的模式要快。

⑤关系结构比层次或网状结构易于修改,这对于灵活性要求高的系统来说是很关键的。 ⑥关系结构使数据库清楚,可视性好,在表格式的结构搜索要比基于指针的机制中用前进或后

退搜索要容易得多。

知识点:关系数据库的组织形式的优点。 3.难度:适中

答案:表 Authors 中的数据描述如下所示: AuthorsID 作者 ID,本表的主关键字字段 FirstName 作者的名 LastName 作者的姓

149 YearBorns 作者的出生年份

表 Publishers 中的数据描述如下所示:

Publishers 出版商的编号,本表的主关键字字段 PublishersName 出版商名字的缩写

表 AuthorISBN 中的数据描述如下所示: ISBN ISBN 书号

AuthorsID 作者 ID,使数据库将作者与书联系起来。 表 Title 中的数据描述如下所示: ISBN ISBN 书号 Title 书名

EditionNumber 书的版本号 YearPublished 书的出版年份 Description 书的简介 PublisherID 出版商 ID 知识点:数据库的建立。

? 可以采取安全措施。 ? 可以维护数据的完整性。 ? 可以折中某些冲突的要求。

知识点:数据库系统的主要优点。 2.难度:适中

答案:关系数据库的组织形式有如下优点:

①关系数据库的表示形式易于理解,也易于在物理数据库系统上实现。 ②相对来说,比较容易把其他类型的数据库结构转换为关系数据库。 ③投影和连接操作易于实现,使得应用程序可以方便的创建新表。 ④数据库搜索比使用一系列指针的模式要快。

⑤关系结构比层次或网状结构易于修改,这对于灵活性要求高的系统来说是很关键的。 ⑥关系结构使数据库清楚,可视性好,在表格式的结构搜索要比基于指针的机制中用前进或后

退搜索要容易得多。

知识点:关系数据库的组织形式的优点。 3.难度:适中

答案:表 Authors 中的数据描述如下所示: AuthorsID 作者 ID,本表的主关键字字段 FirstName 作者的名 LastName 作者的姓

149 YearBorns 作者的出生年份

表 Publishers 中的数据描述如下所示:

Publishers 出版商的编号,本表的主关键字字段 PublishersName 出版商名字的缩写

表 AuthorISBN 中的数据描述如下所示: ISBN ISBN 书号

AuthorsID 作者 ID,使数据库将作者与书联系起来。 表 Title 中的数据描述如下所示: ISBN ISBN 书号 Title 书名

EditionNumber 书的版本号 YearPublished 书的出版年份 Description 书的简介 PublisherID 出版商 ID 知识点:数据库的建立。

本文来源:https://www.bwwdw.com/article/k95p.html

Top