1、JAVA 语 言 与 面 向 对 象 程 序 设 计 期 末 复 习 题2011年上(1)单项选择题(2) 1对象是构成现实世界的一个独立单位,它具有自己的静态特征和( )特征。A. 颜色 B. 动态 C. 状态 D. 重量2使用 JDK 编译 java程序时使用的命令是( ) 。A. java B. javac C. appletviewer D. javadoc 3在 Java 程 序 中 包 含 主 方 法 的 类 被 称 为 主 类 , 主 方 法 的 访 问 控 制 修 饰 符 ( )。A. private B. protected C. public D. static 4在类的定
2、义中,若需要把一个标识符定义为常量,则使用的修饰符为() 。A. const B. final C. static D. class 5在程序中声明包的语句关键字为() 。A. volatile B. pack C. import D. package 6 在 一 个 方 法 的 方 法 头 ( 声 明 ) 中 向 调 用 它 的 上一 层 方 法 抛 出 异 常 的 子 句 关 键 字 为 ( ) 。 A. catch B. throw C. throws D. finally 7在类定义首部的语法格式中, ( )不能作为其中的修饰符。A. public B. protectd C. ext
3、ends D. abstract 8下列哪个类不是异常类的父类?( ) 。A. Error B. Throwable C. Exception D. Object 9下面的关键字( )与异常处理无关。A. throw B. throws C. import D. finally 10 在 读 字 节 文 件 Employee.dat 时 , 使 用 该 文 件 作 为 参 数 的 类 是 ( ) 。A. BufferedReader B. DataInputStream C. DataOutputStream D. FileInputStream (二)填空题1Java 类库也称为 Java
4、API,它是 Application Programming Interface的缩写,中文含义为_。2Java 语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为_和_。3Java 语 言 中 的 方 法 Math.random()返回0到_之 间 的 一 个 随 机 小 数 。4假 定 没 有 给 一 个 类 XXK2显式地定义任何构造函数,则利用 new运算创建该类的一个对象时,自动调用的构造方法为_。5 假 定 要 在 一 个 类 中 访 问 另 一 类XXK4中 的 静 态 成 员 abc, 则 此 访 问 应 表 示 为_。6在方法调用中,首先需要实参表中的实参向形参表中的
5、形参进行传递,此递分为_传递和_传递两种方式。7Java 语言中的类的体系结构为_结 构 。 根 节 点 为 _类。8 定 义 一 个 终 结 类 需 要 在 类 首 部 的 关 键 字 class 前使用的修饰符为_。9 假 定 一 个 字 符 串 对 象 x 的值为“abc“,则 pareTo(“def“)的值为_0。10假定要定义一个 int 型的一维数组为 x, 并 假 定 它 的 长 度 为 10,则其定义语句为 int x=_。11.在 Java 语言中,Exception 下 的 异 常 分 为 两 类 : 即 检 查 型 异 常 和 _型异常。12输入流类(InputStrea
6、m)和输出流类(OutputStream)是 java.io 包中所有_流的抽象基类。13javax.swing 包里的 Swing 组 件 归 为 三 个 层 次 : 顶 层 容 器 、 _容器和原子组件。14Swing 提供了三个顶层容器的类,分别是 JFrame、_和 JApplet。15每个线程具有四种基本状态:就绪状态、_、死亡状态和阻塞状态。(三)判断题1 如 果 在 派 生 类 的 构 造 方 法 的 定 义 中 没 有 明 确 调 用 父 类 的 构 造 方 法 , 则系 统 在 执 行 派 生类的构造方法时也不会隐含调用父类的缺省构造方法。2任何一个派生类的引用变量(或对象)
7、都可以被当成一个父类的引用量(或对象) 。3在 Java 语言中,可以把实现了一个接口的类对象,赋给这个接口的变量。26抽象类只允许包含抽象方法,不允许包含非抽象的方法。4在 Java 语言中,既不能利用抽象类生成对象,也不能利用接口生成对象。5接口中的一些成员方法默认不具有 public 和 abstract修饰。6一个包不仅可以包含若干个类字节码文件,还可以包含若干个包。 7在 Java 语言中,声明包语句可以出现在一个 Java程序文件的任何位置。8数组的长度不能够被改变,而向量类(Vector)对象的长度可以被改变。9向文本文件中写入字符数据,在任何时候都只需要用到文件写入器类(Fil
8、eWriter),不需要用到缓冲写入器类(BufferedWriter)。 10 在 对 文 件 进 行 的 输 入 /输 出(I/O)方 法 的 调 用 中 , 当 遇 到 错 误 时 常 会 抛 出 除IOException 异常之外的其他异常。11输入流类(InputStream)和 输 出 流 类 (OutputStream)是用来处理字节流的抽象基类。12java.io 包中提供的 ObjectInputStream 类能够从文件中读取对象类型的信息。13原子组件通常是在图形用户界面中与用户进行交互的组件。14当浏览器装入一个含有 Applet 的 Web页时,Applet 不会被下
9、载到该浏览器中。15JDBC 隔离了 Java 与不同数据库之间的对话,使得 Java 程序无须考虑不同数据库管理系统平台之间的差异。(四)简答题1、试述 Applet 类有哪些方法可以被浏览器自动调用?简述它们的作用。2、简单说明线程的生命周期及线程的状态?3、J ava 语言中的线程和多线程指的是什么?(五) 、编程1、编写一个 java 小应用程序、文件名叫 p1、创建2个面板、在粉色面板里分别添加5个选择框内容是:“哈尔滨工业大学“;“哈尔滨工程大学“;“哈尔滨理工大学“;“哈尔滨师范大学“;“哈尔滨商业大学“、在黄色面板里添加2个单选按纽内容是:“男“、“女“。2、编写一个小应用程序
10、、文件名叫 p3、在小程序中有一个面扳 P,背景颜色是红色,面板里添加一个画布组件, 画 布 组 件 背 景 颜 色 是 兰 色 , 画布大小是100*90,在画布上画一个矩形, 矩形顶点坐标是(50,70) ,矩形宽是40,高是50. 在小程序中添加另一个画布,画布组件背景颜色是兰色, 画布大小是100*90,在画布上画一个圆形, 圆顶点坐标是( 30,35) ,半径是40。3、利用窗口事件适配器创建一个可关闭的空白窗口,文件名为 p4 4、 编 写 一 个 小 应 用 程 序 、 文 件 名 叫p5、 在 小 应 用 程 序 的 容 器 中 加 入 一 个 “确定“按钮和一个文本框。当点击
11、按钮时,在文本框内显示按钮的名字。5、绘制一条蓝色直线,直线的起点坐标为30、20,终点坐标为55、70。文件为p6。6、在窗口上随机绘制50条 直 线 。 文 件 名 为 p77、绘制一个圆角矩形,矩形左上角角点的坐标为40、40,矩形的宽度为100、高度为70。圆角宽度为50、高度为50。文件名为不 a1。8、 创 建 4个按扭分别叫查找、删除、添加、修改、并添加到小应用程序中,设置布局方式为顺序布局。文件名叫 a2。 9、绘制一条直线,直线的起点坐标为40、30,终点坐标为60、80。文件名为a3。10、绘制一个颜色是蓝色的椭圆,椭圆的大小及位置任意,文件名为 a4。11、 创 建 一
12、个 下 拉 式 列 表 、 要 求 有 4个选项、分别为查找、添加、删除、退出、文件名为 a5。试 题 参 考 答 案( 一 ) 单 项 选 择 题1. B 2. B 3. C 4. B 5. D 6. C 7. B 8. A 9. C 10. D( 二 ) 填 空 题1. 应用程序接口2. protected、private 3. 1 4. XXK2()5. XXK4.abc 6. 按值、引用7. 层次(树状) 、Object(java.lang.Object) 8. final 9. 小于 10. new int10;11. 非检查 12. 字节13. 中间层 14. JDialog 15
13、. 运行状态(三)判断题1. 错 2. 对 3. 对 4. 对 5. 错6. 对 7. 错 8. 对 9. 错 10. 错11. 对 12. 对 13. 对 14. 错 15. 对( 四 ) 、简答题答:1、Applet 类可以被浏览器自动调用的方法有 init() 、 start()和 paint() ,其中 init()方法用来完成主类实例的初始化工作,start()方法用来启动浏览器运行 Applet 的主线程,paint()方法的主要作用是在 Applet的界面中显示文字、图形和其他界面元素。2、一个线程也有从创建、运行到消亡的过程,称为线程的生命周期。使用线程的状态表明线 程 处 于
14、 生 命 周 期 的 哪 个 阶 段 。 线 程 有 创 建 、 可 运 行 、 运 行 中 、 挂 起 、 死 亡5种 状态 。 通 过 线程的控制和调度可使线程在这几种状态间转化。3、线程是比进程更小的运行单位,是进程中单个顺序的流控制。一个进程中以包含多个线程。J ava.lang 中的线程类 Thread 封装了所有需要的线程操作控制,有很多方法用来控制一个线程的运行、休眠、挂起或停止,这就是 Java的多线程机制。( 五 )、 编 程 答 案1、import java.applet.*;import java.awt.*; class Myp1 extends Panel Check
15、box box1,box2;CheckboxGroup sex; Myp1() sex=new CheckboxGroup(); box1=new Checkbox(“男“,sex,true); box2=new Checkbox(“女“ ,false,sex); add(box1);add(box2); setBackground(Color.yellow); class Myp2 extends Panel Checkbox box1,box2,box3,box4,box5; Myp2() box1=new Checkbox(“哈尔滨工业大学“); box2=new Checkbox(“哈
16、尔滨工程大学“); box3=new Checkbox(“哈尔滨理工大学“); box4=new Checkbox(“哈尔滨师范大学“); box5=new Checkbox(“哈尔滨商业大学“); add(box1);add(box2);add(box3);add(box4);add(box5); setBackground(Color.pink); public class p1 extends Applet Myp1 p1; Myp2 p2; public void init() setLayout(new GridLayout(1,2); p1=new Myp1(); p2=new M
17、yp2(); add(p1);add(p2); 2、import java.awt.*;import java.applet.*; class Mycanvas extends Canvas String s; Mycanvas(String s) this.s=s; setSize(100,90); setBackground(Color.blue); public void paint(Graphics g) if(s.equals(“circle“)g.drawOval(30,35,40,40); else if(s.equals(“rect“) g.drawRect(50,70,40,
18、50); public class p3 extends Applet Mycanvas canvas1,canvas2; public void init() canvas1=new Mycanvas(“circle“);canvas2=new Mycanvas(“rect“); add(canvas1); Panel p=new Panel();p.setBackground(Color.red); p.add(canvas2); add(p); 3、import java.awt.*; import java.awt.event.*; public class p4extends Fra
19、me W2() super(“Window2“); setSize(350,200); setVisible(true); addWindowListener(new Win(); public static void main(Stringargs) new W2(); class Win extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); 4、import java.applet.*; import java.awt.*; import java.awt.event.*; public
20、 class p5extends Applet implements ActionListener TextField text; Button button; public void init() text = new TextField(10); button = new Button(“确 定 “); add(text);add(button); text.setLocation(10,10); button.setLocation(30,10); button.addActionListener(this); public void actionPerformed(ActionEven
21、t e) text.setText(button.getLabel(); 5、import java.applet.Applet; import java.awt.Graphics; public class p6extends Applet public void paint(Graphics g) g.setColor(Color.blue ); g.drawLine(30,20,55,70); 6、import java.applet.Applet; import java.awt.Graphics; public class p7 extends Applet public void
22、paint(Graphics g) int i,x1,y1,x2,y2; for(i=1;i=50;i+) x1=(int)(Math.random()*10); y1=(int)(Math.random()*200); x2=(int)(Math.random()*380); y2=(int)(Math.random()*200); g.drawLine(x1,y1,x2,y2); 7、import java.applet.Applet; import java.awt.Graphics; public class a1 extends Applet public void paint(Gr
23、aphics g) g.drawRoundRect(40,40,100,70,50,50); 8、import java.awt.*; import java.applet.Applet; public class a2 extends Applet public void init () setLayout(new FlowLayout(FlowLayout.LEFT,70,50); add(new Button(“查找1“); add(new Button(“删除2“); add(new Button(“添加3“); add(new Button(“修改“); 9、import java.
24、applet.Applet; import java.awt.Graphics; public class a3 extends Applet public void paint(Graphics g) g.drawLine(40,30,60,80); 10、import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class a4 extends Applet public void paint(Graphics g) g.setColor(Color.blue ); g.drawArc(0,40,80,40,0,360);