java复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、下列选项中关于Java中封装的说法错误的是()。

A、封装就是将属性私有化,提供共有的方法访问私有属性
B、属性的访问方法包括setter方法和getter方法
C、setter方法用于赋值,getter方法用于取值
D、包含属性的类都必须封装属性,否则无法通过编译
2、Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()
A、C不仅继承了B中的成员,同样也继承了A中的成员
B、C只继承了B中的成员
C、C只继承了A中的成员
D、C不能继承A或B中的成员
3、分析选项中关于Java中this关键字的说法正确的是()
A、this关键字是在对象内部指代自身的引用
B、this关键字可以在类中的任何位置使用
C、this关键字和类关联,而不是和特定的对象关联
D、同一个类的不同对象共用一个this
4、以下关于布局的说法,错误的是()
A、BorderLayout是边框布局,它是窗体的默认布局
B、null是空布局,它是面板的默认布局
C、FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列
D、GridLayout是网格布局,它以矩形网格形式对容器的组件进行布置。

容器被分成大小相等的矩形,一个矩形中放置一个组件
5、以下用于创建容器对象的类是()(多选)
A、Frame
B、Checkbox
C、Panel
D、TextField
6、以下关于抽象类和接口的说法错误的是()
A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。

但是一个类却可以实现多个接口。

B、在抽象类中可以没有抽象方法
C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。

接口中的方法都不能被实现
D、接口中的方法都必须加上public关键字。

7、关于面向对象的说法正确的是()
A、类可以让我们用程序模拟现实世界中的实体
B、有多少个实体就要创建多少个类
C、对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现
D、现实世界中的某些实体不能用类来描述
8、下列不属于面向对象编程的三个特征的是
A.封装
B.指针操作
C.多态性
D.继承
9、类所实现的接口以及修饰不可以是
A.public
B.abstract
C.final
D.void
10、下列类的定义,错误的是
A.public class test extends Object{
……
}
B.final class operators{
……
}
C.class Point{
……
}
D.void class Point{
……
}
11、关键字supper的作用是
A.用来访问父类被隐藏的成员变量
B.用来调用父类中被重载的方法
C.用来调用父类的构造函数
D.以上都是
12、下面程序定义了一个类,关于该类说法正确的是
abstract class abstractClass{
……
}
A.该类能调用new abstractClass(),方法实例化为一个对象
B.该类不能被继承
C.该类的方法都不能被重载
D.以上说法都不对
13、关于对象的删除,下列说法正确的是
A.必须由程序员完成对象的清除
B.java把没有引用的对象作为垃圾收集起来并释放
C.只有当程序中调用System.gc()方法时才能进行垃圾收集
D.java中的对象都很小,一般不进行删除操作。

14、下列说法正确的是
A.java中包的主要作用是实现跨平台功能
B.package语句只能放在import语句后面
C.包(package)由一组类(class)和界面(interface)组成
D.可以用#include关键词来标明来自其它包中的类;
15、关于构造方法,下列说法错误的是
A.构造方法不可以进行方法重写
B.构造方法用来初始化该类的一个新的对象
C.构造方法具有和类名相同的名称
D.构造方法不返回任何数据类型
16、java中用来抛出异常的关键字是
A.try
B.catch
C.throw
D.finally
17、关于异常,下列说法正确的是
A.异常是一种对象
B.一旦程序运行,异常将被创建
C.为了保证程序运行速度,要尽量避免异常控制
D.以上说法都不对
18、()类是所有异常类的父类。

A.Throwable
B.Error
C.Exception
D.AWTError
19、java语言中,下列哪一子句是异常处理的出口
A.try{…}子句
B.catch{…}子句
C.finally{…}子句
D.以上说法都不对
20、下列程序的执行,说法错误的是
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.程序将输出第19行的异常信息
21、下列程序的执行,说法正确的是
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行的异常信息
22、流的传递方式是()
A. 并行的
B. 串行的
C. 并行和串行
D. 以上都不对
23、下列不是java的输入输出流的是()
A. 文本流
B. 字节流
C. 字符流
D. 文件流
24、凡是从中央处理器流向外部设备的数据流称为()
A. 文件流
B. 字符流
C. 输入流
D. 输出流
25、获取一个不包含路径的文件名的方法为()
A. String getName( )
B. String getPath( )
C. String getAbslutePath( )
D. String getParent( )
26、下列属于文件输入输出类的是()
A. FileInputStream和FileOutputStream
B. BufferInputStream和BufferOutputStream
C. PipedInputStream和PipedOutputStream
D. 以上都是
27、下列不属于FileInputStream输入流的read()成员函数的是()
A. int read();
B. int read(byte b[]);
C. int read(byte b[],int offset,int len);
D. int read(int line);
28、当处理的数据量很多,或向文件些很多次小数据,一般使用()流
A. DataOutput
B. FileOutput
C. BufferedOutput
D.PipedOutput
29、当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用()流
A. DataOutput
B. FileOutput
C. BufferedOutput
D. PipedOutput
30、当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件的不同地方时,一般使用()类访问。

A. FileOutputStream
B. RandomAccessFile
C. PipedOutputStream
D. BufferedOutputStream
31、java中,实现通过网络使用URL访问对象的功能的流是()
A. URL输入流
B. Sock输入流
C. PipedInputStream输入流
D. BufferedInputStream输入流
1. Java中用来抛出异常的关键字是()
A. try
B. catch
C. throw
D. finally
2. 下列不是Java的输入输出流的是()
A. 文本流
B. 字节流
C. 字符流
D. 文件流
3. 下列属于容器的组件有:()A.JButton B.JPane C.Canvas D.JTextArea
4. 在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?()
A.ActionListener B.MouseListener
C.MouseMotionListern D.ItemListener
5. 对于Java中的布局管理器,以下说法中错误的是()
A. FlowLayout 以由上到下的方式从左到右排列组件
B. BorderLayout 使用”东”、”西”、”南”、”北”,”居中”来指定组件的位置
C. GridLayout 可以创建网格布局,布局中各组件的大小可以任意调整
D. 可以通过容器的setLayout 方法为容器指定布局管理器
6. Java所定义的版本中不包括:()
A. JA V A2 EE
B. JA V A2 ME
C. JA V A2 HE
D. JA V A2 SE
7.若用Java虚拟机执行类名为Hello的应用程序,正确命令是()
A. java Hello.class
B. Hello.class
C. java Hello.java
D. java Hello
8.下列代码输出结果是()
int i = 10;
while ( i > 0 ){
i = i + 1;
if ( i = =10 ){
break;
}
}
A. while循环执行10次
B. 死循环
C.循环一次都不执行
D.循环执行一次
9. 下面哪个表达式可得到x和y的最大值?( )
A. x>y?y:x
B. x<y?y:x
C. x>y?(x+y):(x-y)
D. x==y?y:x; 10.Java中,JDBC是指( ) A. Java程序与数据库连接的一种机制
B.Java程序与浏览器交互的一种机制
C.Java类库名称
D.Java类编译程序
11. JDBC中要显式地关闭连接的命令是()A.Connection.close() B.RecordSet.close()
C.Connection.stop() D.Connection.release()
12. Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()
A.C不仅继承了B中的成员,同样也继承了A中的成员
B.C只继承了B中的成员
C.C只继承了A中的成员
D.C不能继承A或B中的成员
13. 下列不属于面向对象编程的三个特征的是()
A. 封装
B. 指针操作
C. 多态性
D. 继承
14. 下列类的定义,错误的是()
A. public class test extends Object{
……
}
B. final class operators{
……
}
C. class Point{
……
}
D. void class Point{
……
}
15. 关键字super的作用是()
A. 用来访问父类被隐藏的成员变量
B. 用来调用父类中被重载的方法
C. 用来调用父类的构造函数
D. 以上都是
1. 下面哪个类是所有异常类的父类?()
A. Throwable
B. Error
C. Exception
D. AWTError
2. 下列不属于FileInputStream输入流的read()成员函数的是()
A. int read();
B. int read(byte b[]);
C. int read(byte b[],int offset,int len);
D. int read(int line);
3. 框架(Frame)的缺省布局管理器就是()
A. 流程布局(Flow Layout)
B. 卡布局(Card Layout)
C. 边框布局(Border Layout)
D. 网格布局(Grid Layout)
4. 事件处理机制能够让图形界面响应用户的操作,主要包括()
A. 事件
B. 事件处理
C. 事件源
D. 以上都是
5. 下面哪种布局管理器使容器中各个组件呈网格布局,平均占据容器空间。

()
A. FlowLayout
B. BorderLayout
C. GridLayout
D. CardLayout
6. Java所定义的版本中不包括:()
A. JA V A2 EE
B. JA V A2 ME
C. JA V A2 HE
D. JA V A2 SE
7. 若用Java虚拟机执行类名为Hello的应用程序,正确命令是()
A. java Hello.class
B. Hello.class
C. java Hello.java
D. java Hello
8. 下列代码输出结果是()
int i = 10;
while ( i > 0 ){
i = i + 1;
if ( i = =10 ){
break;
}
}
A. while循环执行10次
B. 死循环
C.循环一次都不执行
D.循环执行一次
9. 下面哪个表达式可用得到x和y的最大值?()
A. x>y?y:x
B. x<y?y:x
C. x>y?(x+y):(x-y)
D. x==y?y:x;
10. JDBC中要显式地关闭连接的命令是()
A.Connection.close() B.RecordSet.close()
C.Connection.stop() D.Connection.release()
11.在利用JDBC连接数据库时,为建立实际的网络连接,不必传递的参数是()
A. URL B.数据库用户名C.密码 D.驱动程序类名
12. 下列声明的类中不能产生子类的是()
A. static class Bar{ }
B. private class Bar{ }
C. abstract class Bar{ }
D. final class Bar{ }
13. 若在类A中定义一个无参数也无返回值的类方法method,则该方法的正确声明形式为()
A. static void method( )
B. static int method( )
C. final void method( )
D. abstract void method( )
14.在Java中,关于构造方法,下列说法错误的是()
A.构造方法的名称必须与类名相同
B.构造方法可以带参数
C.构造方法不可以重载
D.构造方法绝对不能有返回值
15.类所实现的接口以及修饰不可以是()
A. public
B. abstract
C. final
D. void
1.下列说法中,正确的是( )
A.java是不区分大小写的,源文件名与程序类名不允许相同。

B..java语言以方法为程序的基本单位。

C.Applet是java的一类特殊应用程序,它嵌入HTML中,随主页发布到互联网上。

D.以//符开始的为多行注释语句。

2.以下选项中,不合法的用户标识符是( )
A. _123
B.class
C.Rect1
D.$total
3.执行下列程序的输出结果是( )
int x=10,y=3;
System.out.println( x/y)
A.0
B.1
C.3
D.不确定的值
4.下列说法正确的是( )
A.类是变量和方法的集合体。

B.数组是无序数据的集合。

C.抽象类可以实例化。

D.类成员的数据必须是公共的。

5.调用构造方法是在( )
A.类定义时
B.创建对象时
C.调用对象方法时
D.使用对象变量时
6.下列对继承的说法,正确的是( )
A.子类能继承父类的所有方法和状态。

B.子类能继承父类的非私有方法和状态。

C.子类能继承父类的public方法和状态。

D.子类能继承父类的所有方法,但不能继承状态。

7.下面关于接口的说法,正确的是( )
A.接口和抽象类是相同的概念。

B.实现一个接口必须实现接口的所有方法。

C.接口之间不能有继承关系。

D.一个类只能实现一个接口。

8.所有的异常类皆继承自下列类中的( )
A.java.io.Exception
ng.Throwable
ng. Exception
ng. Error
9.Graphics类中用来绘制椭圆的是( )
A.drawLine( )
B.drawRect( )
C.drawOval( )
D.drawArc( ) 10.Applet类的( )方法将图像装入applet:
A.getDocumentBase
B.drawImage
C.update
D.getImage
二、填空题
1.把对象实例化可以生成多个对象,使用_________运算符为对象分配内存空间。

2.java程序引入接口的概念,是为了弥补只允许类的________的缺憾。

3.java语言以_______为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

4.抽象方法只能存在于抽象类中。

抽象方法用关键字________来修饰。

5.java语言中_______是所有类的根.
6.在java中有一种叫做_______特殊方法,在程序中用它来对类成员进行初始化.
7.new是______对象的操作符.
8.继承主要强调子类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输
9.我们在java程序中,把关键字________加到方法名称的前面,来实现子类调用父类的方法
10.定义一个类包括定义类头和定义______两个部分
11.在java程序里,同一类中重载的多个方法具有相同的方法名和_____的参数列表.重载的方法可以有不同的返回值类型
12.java是面向对象语言,对象是客观事物的_______,对象与之是一一对应的,它是很具体的概念.
13.java语言通过接口支持______继承,使类继承具有更灵活的扩展性
14.一个对象的生命周期包含三个阶段:生成, ______ 和清除
15.java语言中,调用方法时,参数传递是______调用,而不是地址调用
16.接口是一种只含有抽象方法或______的一种特殊抽象类
17.创建一个类就是创建一个新的数据类型,而类在java中属于______数据类型。

18.abstract方法________(不能或能)与final并列修饰同一个类
19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的________必须是不同的,这种现象称为方法的重载。

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

21.java虚拟机能自动处理_______异常。

22.变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、
方法参数和_______
23.同一段程序可能产生不止一种异常。

可以放置多个________子句,其中每一
种异常类型都将被检查,第一个与之匹配的就会被执行。

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

25.java语言认为那些可预料和不可预料的出错称为_________
26.按异常处理不同可以分为运行异常、捕获异常、声明异常和______几种。

27.抛出异常的程序代码可以是________或者是JDK中的某个类,还可以是JVN.
28.抛出异常、生成异常对象都可以通过_________语句实现。

29.捕获异常的统一出口通过_________语句实现。

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

31.Throwable类有两个子类:__________类和Exception类。

32.对程序语言而言,一般有编译错误和____________错误两类。

33.java的输入输出流包括_______、字符流、文件流、对象流以及多线程之间
通信的管道。

34.java中的非字符输出流都是________抽象类的子类。

35.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个
I/O流,这就是_______
36. java中的字符输出流都是抽象类________的子类.
37. DataOutputStream数据流向文件里写数据的方法为__________.
38.RandomAccessFile所实现的接口是_________和DataOutput接口.
39.文件类_______是java.io中的一个重要的非流类,里面封装了对文件系统
进行操作的功能.
40.文件操作中经常需要的是随机访问, java中的_______类提供了随机访问文
件的功能.
1. 同一段程序可能产生不止一种异常。

可以放置多个________子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

2. Throwable类有两个子类:__________类和Exception类。

3. Java的输入输出流包括_______、字符流、文件流、对象流以及多线程之间通信的管道。

4. Java中的字符输出流都是抽象类________的子类。

5. 可以使用setLocation(),____________或____________中的任何一中方法设定组件的大小或位置。

6. 如果在一个Java源程序文件中定义有3个类,则使用JDK中所带的Java编译器编译该源程序文件将产生个文件名与各类名相同而扩展名为的字节码文件。

7. Java类库具有_____的特点,保证了软件的可移植性。

8. 把对象实例化可以生成多个对象,使用_________运算符为对象分配内存空间。

9. 若需要将某个包中的类引入到当前的程序中,则应使用关键字将其导入。

10.Java语言以____ ___为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

11.在Java中有一种叫做___ ____特殊方法,在程序中用它来对类成员进行初始化。

12.接口是一种只含有_______或______的特殊抽象类。

13.JDBC驱动器有、、、四种类型。

1. 捕获异常的统一出口通过_________语句实现。

2. Java语言的类库中提供了一个__________类,所有的异常都必须是它的实例
或它子类的实例。

3. DataOutputStream数据流向文件里写数据的方法为__________。

4.Java中的非字符输出流都是________抽象类的子类。

5. 可以使用setLocation(),____________或____________中的任何一中方法设定组件的大小或位置。

6. 在进行Java程序设计时首先用编辑器建立扩展名为为的Java源程序,然后用Java编译器编译生成扩展名为字节码文件,对于Application程序,最后可用Java解释器运行。

7. 每个Java应用程序可以包括许多方法,但必须有且只能有一个_____方法。

8. Java源文件中最多只能有一个_____类,其它类的个数不限。

9. 在Java语言中,引用数据类型包括类、和。

10. 一个接口可以继承个父接口,一个类可以实现个接口。

11. 在Java语言中用关键字声明类所在的包,用关键字导入包中所包含的类。

1.Java语言是一种完全的__程序设计语言。

2.java程序在保存文件的时候,后缀名为______, 该程序经过
编译以后,后缀名为____.
3.x=3执行下列语句switch(x+3){case 6:y=1;default:y+=1;}以后y的值
为。

4.在定义一个方法时,一般都要指明该方法的返回值类型,如果它不返回任
何值,则必须将其声明成__。

5.在Java中有一种叫作的特殊方法,我们在程序中用它来对
类的对象成员进行初始化。

6.接口是一种是含有方法或的特殊抽象类。

7.java所有类的根类是,new是对象的操作符。

8.一个try程序段中有5个catch语句,则这些catch语句最多可以执行
次。

9.在界面的顶点位置绘制一个边长为20的正方形边框的语句
为。

10.Java语言为处理鼠标事件提供2个接口:接口和
接口。

1.在Java的基本数据类型中,char类型采用Unicode编码方案,每个Unicode 字符占用字节内存空间,这样无论是中文字符还是英文字符,都是占用字节内存空间。

2.若需要将某个包中的类引入到当前的程序中,则应使用关键字将其导入。

3.如果在一个Java源程序文件中定义有3个类,则使用JDK中所带的Java编译器编译该源程序文件将产生个文件名与各类名相同而扩展名为的字节码文件。

4.Java中父类的方法不能被其子类所覆盖。

5.对于程序中的错误按照其性质可分为三类:、和。

6.类的构造方法没有返回值类型,且其名称与_ 名相同。

7.按照文件的逻辑结构可将文件划分为两大类:文件和文件。

8.在Java中,一个类可以有个父类,也可以实现个接口,并且类是Java中所有类的父类或祖先类。

9.方法仅有方法头,而没有方法体,在Java的和
中可以定义该种形式的方法。

10.布局管理器将容器划分为5个区域,分别为东、南、西、北、中。

三、程序分析题
1.下列程序实现从控制台输入并读取输出字符串. 请将程序补充完整
import java.io.*;
public class CharInput
{
public static void main(String args[]) throws
java.io.IOException
}
String s;
inputStreamReader ir;
BufferedReader in;
ir=new____________(System.io);
in=new____________(ir);
while ((s=in.__________)!=null)
{
System.out.println(“Read;”+s);
}
}
}
2. 下列程序实现从当前目录的date.ser文件中读取文件内容并显示出来.请将程序补充完整.
import java.io.*;
import java.util.Date;
public class UnSerializeDate
{
UnSerializeDate()
{
Date d=null;
try
{
FileInputStream f=new _________(“date.ser”);
ObjectInputStream s=new ObjectInputStream(________);
d=(Date) s.readObject();
f.close();
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println(“Unserialized Date object from date.set”);
System.out.println(“Date:”+d);
}
public static void main(String args[])
{
new UnSerializeDate();
}
}
3.下面程序抛出了一个“异常”并捕捉它。

请在横线处填入适当内容完成程序。

class TrowsDemo
{
static void procedure() throws IllegalAccessExcepton
{
System.out.println(“inside procedure”);
throw_______IllegalAccessException(“demo”);
}
public static void main(String args[])
{
try
{
procedure();
}
___________
{
System.out.println(“捕获:”+e);
}
}
3.请将程序补充完整
1._______ class C
2.{
3.abstract void callme()
4.void metoo
5.{
6.System.out.println(“类C的metoo()方法”);
7.}
8.}
9.class D_______C
10.{
11.void callme()
12.{
13.System.out.println(“重载C类的callme()方法”);
14.}
15.}
16.public class Abstract
17.{
18.public static void main(String args[])
19.}
20. C c=__________D();
21. c.callme();
22. c.metoo();
23.}
24.}
4.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。

请在横线处填入适当的内容完成程序。

public class HelloWorld
{
int i=0;
String greetings[]=
{
“Hello world!”,
“No,I mean it!”,
“HELLO WORLD!!”
};
while(i<4)
{
____________
}
System.out.println(greeting[i]);
}
_________________(ArrayIndexOutOfBoundsException e)
{
System.out.println(“Re-setting Index Value”);
i=-1;
finally
{
System.out.println(“This is always printed”);
}
i++;
}
}
}
5. class C
{
abstract void callme()
void metoo{
System.out.println(“类C的metoo()方法”);
}
}
class D C
{
void callme()
{
System.out.println(“重载C类的callme()方法”);
}
}
public class Abstract
{
public static void main(String args[])
{
C c= D();
c.callme();
c.metoo();
}
}
6. 下列程序实现从控制台输入并读取输出字符串,请将程序补充完整。

import java.io.*;
public class CharInput
{
public static void main(String args[]) throws java.io.IOException
{
String s;
inputStreamReader ir;
BufferedReader in;
ir=new (System.io);
in=new (ir);
while ((s=in. )!=null)
{
System.out.println(“Read;”+s);
}
}
}
7. 下面程序分别用do-while 和for语句实现1~100累计求和。

请在横线处填入适当内容完成程序。

Public class Sum
{
public static void main(String args[])
{
int n=0,sum=0;
do
{
sum+=n;
n++;
}
while( )
System.out.println(“sum is”+sum);
System.out.println(“\\n******for循环******”);
sum=0;
for(int i=1; i++)
{
sum+=i;
}
System.out.println(“sum is”+sum);
}
}
8.设计一个窗口,上面有一个按钮。

当鼠标移到按钮上时,立即隐藏该按钮;当鼠标离开按钮时,显示该按钮。

请在横线处填入适当内容完成程序。

import java.awt.*;
;
import javax.swing.*;
public class TestEvent {
static JButton bt = new JButton("隐藏按钮");
public static void main(String[] args) {
Frame f = new Frame();
f.setLocation(300, 200);
f.setSize(200,200);
f.setLayout(null);
(new MouseMove());
bt.setBackground(Color.cyan);
bt.setBounds(new Rectangle(45, 100, 90, 30));
f.add(bt);
f.pack();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true);
} }
class MouseMove extends MouseAdapter{
public void mouseClicked(MouseEvent e) {
;
}
public void mouseExited(MouseEvent e) {
TestEvent.bt.setVisible(true);
} }
9. C
{
abstract void callme();
}
class D C
{
void callme()
{
System.out.println(“重写callme()方法”);
}
}
public class Abstract
{
public static void main(String args[])
{
C c= D();
c.callme();
}
}
10. 下列程序实现从当前目录的date.ser文件中读取文件内容并显示出来.请将程序补充完整.
import java.io.*;
import java.util.Date;
public class UnSerializeDate
{
UnSerializeDate()
{
Date d=null;
try
{
FileInputStream f=new _________(“date.ser”);
ObjectInputStream s=new ObjectInputStream(________);
d=(Date) s.readObject();
f.close();
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println(“Unserialized Date object from date.set”);
System.out.println(“Date:”+d);
}
public static void main(String args[])
{
new UnSerializeDate();
}
}
11. 下面程序分别用while 和for语句实现1~10累计求和。

请在横线处填入适当内容完成程序。

Public class Sum
{
public static void main(String args[])
{
System.out.println(“\\n*****while循环*****”);
int n=10,sum=0;
while( )
{
sum+=n;
n--;
}
System.out.println(“sum is”+sum);
System.out.println(“\\n******for循环******”);
sum=0;
for(int i =1; i++)
{
sum+= i;
}
System.out.println(“sum is”+sum);
}
}
12.设计一个窗口,上面有一个按钮。

当鼠标移到按钮上时,立即隐藏该按钮;当鼠标离开按钮时,显示该按钮。

请在横线处填入适当内容完成程序。

import java.awt.*;
;
public class TestEvent {
static Button bt = new Button("隐藏按钮");
public static void main(String[] args) {
Frame f1 = new Frame();
f1.setLocation(300, 300);
f1.setSize(100,100);
bt.addMouseListeneer (new MouseMove());
bt.setBackground(Color.cyan);
bt.setBounds(new Rectangle(45, 100, 90, 30));
f1.add(bt);
f1.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
;
}
});
f1.setVisible(true);
}
}
class MouseMove extends MouseAdapter{
public void mouseClicked(MouseEvent e) {
TestEvent.bt.setVisible(false);
}
public void mouseExited(MouseEvent e) {
;
}
}
13.分析下面的程序回答问题
public class Fib_d
{
static int fib(int n)
{
if ((n==0) || (n==1))
return n;
else
return fib(n-2)+fib(n-1);
}
public static void main(String args[])
{
int i;
for (i=0;i<6;i++)
System.out.print(" "+fib(i));
System.out.println();
}
}
问:程序运行后输出结果是什么?14.分析下面的程序,回答问题import java.awt.*;
public class LoginFrame extends Frame {
public LoginFrame()
{
super("User Login");
this.setSize(200,120);
this.setBackground(Color.lightGray);
this.setLocation(300,240);
this.setLayout(new FlowLayout());
this.add(new Label("userid"));
this.add(new TextField("user1",10));
this.add(new Label("password"));
this.add(new TextField(10));
this.add(new Button("Ok"));
this.add(new Button("Cancel"));
this.setVisible(true);
}
public static void main(String arg[])
{
new LoginFrame();
}
}
问:(1)该程序中用到哪些组件,写出它们的中文名称。

(2)程序中用到哪种类型的布局管理器,该种布局管理器是如何对组件布局的?
15.分析下面的程序,回答问题
import java.io.*;
class FileInputStreamDemo {
public static void main(String[] args) {
String filename;
int ch = 0;
filename = "e:/workbench/MyProject_08/src/org/iostream/t1.txt";
try {
FileInputStream fis = new FileInputStream(filename);
while ((ch = fis.read()) != -1) {
System.out.print((char) ch);
fis.close();
} catch (IOException e) {
System.out.println("File not found");
}
}
}
问:程序的功能是什么?,
import java.io.*;
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
int n = 0;
int num = 0;
int i = 0;
String filename = "e:/workbench/MyProject_08/src/org/iostream/t2.txt"; FileOutputStream fos = null;
FileInputStream fis = null;
try {
fos = new FileOutputStream(filename,true);
for (n =100;n<=200;n++){
if (n % 3 ==0){
i++;
String str = String.valueOf(n);
String str1 = str+" ";
byte[] buff = str1.getBytes();
fos.write(buff);
if(i%10==0){
str = "\r\n";
byte[] buf = str.getBytes();
fos.write(buf) }
fos.close();
}
catch (FileNotFoundException e1) {
System.out.println(e1);
}
catch (IOException e2) {
System.out.println(e2);
}
}
}
问:程序的功能是什么?
1.用递归调用求Fibonacci数的前5个数,(1,1,2,3,5)请将下面的程序填写完整。

public class Fibo
{
public static void main(String args[])
{
final int n = ;
for(int i = 1;i <= n;i++)
{
System.out.print(" "+);
if(i % 10 == 0)System.out.println();
}
}
long f(long n){
if()return 1;
else return ;
}
2.请写出下面程序的运行结果
public class Test extends TT
{
public void main(String args[])
{
Test t=new Test("Tom");
}
public Test(String s)
{
super(s);
System.out.println("How do you do?");
}
public Test()
{
this("I am Tom");
}
}
class TT
{
public TT( )
{
System.out.println("What a pleasure!"); }
public TT(String s )
{
this( );
System.out.println("I am"+s);
}
}
结果
3.构造方法的使用,计算长,宽分别为20,6的长方形面积,将下面的程序填写完整。

class RectConstructor
{
double length;
double width;
double area()
{
return ;
}
RectConstructor(double width,double length)
{
;
;
}
}
class RectDemo
{
public static void main(String args[])
{
rect1=new RectConstructor();
double ar;
ar = rect1.area();
System.out.println("长方形的面积是: " + ar);
}
}
4.如果下面的方法能正常运行,则该程序的运行结果是,,。

public void example( )
{
try
{
unsafe( );
System.out.println("text1");
}
catch(safeException e)
{
System.out.println("text2");
}
finally
{
System.out.println("text3");
}
System.out.println("text4");
}
4.请写出下面程序的运行结果
public class Test extends TT
{
public void main(String args[])
{
Test t=new Test("Tom");
}
public Test(String s)
{
super(s);
System.out.println("How do you do?");
}
public Test()
{
this("I am Tom");
}
}
class TT
{
public TT( )
{
System.out.println("What a pleasure!");
}
public TT(String s )
{
this( );
System.out.println("I am"+s);
}
}
结果
5.构造方法的使用,计算长,宽分别为20,6的长方形面积,将下面的程序填写完整。

class RectConstructor
{
double length;
double width;
double area()
{
return ;
}
RectConstructor(double width,double length)
{
;
;
}
}
class RectDemo
{
public static void main(String args[])
{
rect1=new RectConstructor();
double ar;
ar = rect1.area();
System.out.println("长方形的面积是: " + ar);
}
}
四、判断题
1.Java是一种不区分大小写的语言。

( )
2.Java文件的文件名必须和程序清单所声明的类名保持一致。

()
3.整数类型可分为byte,short,int,long,char。

()
4.在程序中使用数组,需要先声明数组和能够存储数组中元素的类型。

()
5.一个类中,只能拥有一个构造器方法。

( )
6.一个String类的对象在其创建后可被修改。

()
7.在Applet的运行控制中,stop()方法是浏览器关闭时自动调用,回收Applet 所用的所有资源。

()
8.Java目前支持两种图片格式,这两类文件名称以.jpg和.gif结束。

()
9.Statement对象代表与数据库的连接。

()
10.ResultSet接口用于获取执行SQL语句返回的结果。

()
五、编程题:
1.定义一个People类,它包含属性有姓名name和性别sex和年龄age,一
个构造方法,用来初始化这三个属性;定义一个People类的子类
Student,添加一个属性学好number,添加两个构造方法,一个有参构造
方法,一个无参构造方法,他们都要调用父类的构造方法或本类的构造
方法来完成对象的初始化,添加一个成员方法getInfo()用于获得学生
的所有相关信息;最后在主方法中创建Student类的实例,调用其成员
方法。

2.定义一个名为Vehicles(交通工具)的基类,该类中包含String类型的
成员属性brand(商标)和color(颜色),包含成员方法showInfo用于
在控制台显示商标和颜色,并编写构造方法初始化其成员属性;编写Car
(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法;
在main方法中测试Car类。

3.创建一个接口Shape,其中有抽象方法area用于计算图形的面积;类
Circle、Rectangle实现Shape类;在main方法中创建一个数组,随机
地向其中加入Shape的不同子类对象,完成数组初始化,然后将数组元
素依次取出,在控制台输出其面积。

4.创建一个Vehicle接口,在此接口中声明一个NoOfWheels方法;创建两。

相关文档
最新文档