《Java语言》练习题
2004年10月28日
一、选择题:
1. Java源程序经编译生成的字节码文件的扩展名为 ,字节码文件由解释器执行。(A)
A. class B. java C. exe D. html
2. 以下定义一维数组的语句中,正确的是: (D)
A. inta[5]
B. int a[]=new [5];
C. int a[];
int a=newint[5];
D. int a[]={1,2,3,4,5};
3. 假定一个类的构造方法为“ A(int aa, int bb) { a=aa; b=aa*bb; } ”,则执行“ A x = new A(4,5); ” 语句后,x.a 和x.b的值分别是: 。(C)
A. 4 和5 B. 5和4 C .4和20 D. 20和5
4. 对于任意一个类,用户所能定义的构造方法的个数至多为 。(D)
A.0个 B.1个 C.2个 D.任意个
5. 假设类A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法的语句格式应为 (C)
A. A(x)
B. this. A(x)
C. this(x)
D. super(x)
6.关于实例方法和类方法,以下描述正确的是: (D)
A. 实例方法只能访问实例变量
B. 类方法既可以访问类变量,也可以访问实例变量
C. 类方法只能通过类名来调用
D. 实例方法只能通过对象来调用
7.接口是Java面向对象的实现机制之一,以下说法正确的是: (B)
A. Java支持多重继承,一个类可以实现多个接口;
B. Java只支持单重继承,一个类可以实现多个接口;
C. Java只支持单重继承,一个类只可以实现一个接口;
D. Java支持多重继承,但一个类只可以实现一个接口。
8. 关于接口的定义和实现,以下描述正确的是: (A)
A. 接口定义中的方法都只有定义没有实现
B. 接口定义中的变量都必须写明final和static
C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码
D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.
9. 在 Java的异常处理语句try-catch-final中,以下描述正确的是: (B)
A. try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是没有捕获到异常时要执行的代码
B. try后面是可能产生异常的代码,catch后面是捕获到某种异常对象时进行处理的代码,final后面是无论是否捕获到异常都必须执行的代码
C. catch 语句和final语句都可以缺省
D. catch 语句用来处理程序运行时的非致命性错误,而final语句用来处理程序运行时的致命性错误
.
10.如果一个程序段中有多个catch,则程序会按如下哪种情况执行?C
找到适合的例外类型后继续执行后面的catch.
找到每个符合条件的catch都执行一次。
找到适合的例外类型后就不再执行后面的catch。
对每个catch都执行一次。
11.以下Java布局管理器中,java.applet.Applet容器类的默认布局管理器是 。(B)
A. BorderLayout B.FlowLayout C. GridLayout D. CardLayout
12.在Applet应用程序的生命周期中,以下说法正确的是: (C)
A. 当打开浏览器窗口时,系统会自动调用start方法,在Applet应用程序的生命周期中,start方法可执行多次;
B. 当激活浏览器窗口时,系统会自动调用start方法,在Applet应用程序的生命周期中,start方法只可执行一次;
C. 当打开浏览器窗口时,系统会自动调用init方法,在Applet应用程序的生命周期中,init方法只可执行一次;
D. 当激活浏览器窗口时,系统会自动调用init方法,在Applet应用程序的生命周期中,init方法可执行多次。
13.如果重写了Applet的paint方法,在以下何种情况中,AWT线程会自动调用paint方法绘图。 (D)
A. 当浏览器运行时
B. 当Applet内容被覆盖后又重新显示时
C. 在执行repaint方法重新绘图时
D. 包括以上三种情况
14.为了防止Java Applet程序中含有恶意代码而对客户端造成损害,以下行为哪一种不属于浏览器禁止的行为。(A)
A. 禁止访问Applet程序所在服务器的资源
B. 禁止读写本地计算机的文件系统
C. 禁止运行本地计算机的可执行程序
D. 禁止访问与本地计算机有关的信息,如用户名、邮件地址等
22下列关于继承的说法哪个是正确的?B
A.子类只继承父类public方法和属性;
B.子类继承父类的非私有属性和方法;
C.子类只继承父类的方法,而不继承父类的属性;’
D.子类将继承父类的所有的属性和方法。
23下面哪个是JAVA的保留字? B
run
import
implement
string
24.下列关于抽象类的说法四个是正确的?C
A.某个抽象类的父类是抽象类,则达个子类必须里载父类的所有抽象方法;
B.接口和抽象类是同一回事;
C.绝对不能用抽象类去创建对象;
D.抽象类中不可以有非抽象方法。
25.下列说法哪个是正确的? B
A.创建对象y一定要用new;
B.属性可以是简单变量,也可以是一个对象;
C.属性必须是简单变量;
D.对象中必有属性和方法。
二、操作题
1、阅读并理解Greetings.java,编写完成同样功能但在浏览器中运行的Applet应用程序GreetingsApplet.java和页面文件Greetings.htm。
2、阅读并理解FontTest.java和FontTest.htm,修改FontTest.java,使之能为不同的HTML页面显示不同的文字,同时编写利用FontTest.java显示“Welcome to Shanghai!”的页面文件Font1.htm,编写利用FontTest.java显示“I Like Java!”的页面文件Font2.htm。
3、Test3.java的功能是在Web页面中显示问候信息(Hello,World!),修改程序,使之显示粗体文字,字号为15,字体:Arial Black。
4.Test4.java的功能是在Web页面中显示“欢迎您访问本网站!”,修改程序,使显示文字颜色为绿色。
注:green的RGB函数参数为(0,255,0)。
5、Applet程序markTest计算一个学生的总成绩和平均成绩,显示效果如图。要求:①完成程序中的空白部分,使程序达到预定功能;②将全部TextField设置为不可修改。
6、Test6.java的功能是选择不同的显示内容,按下列要求修改程序:
①将复选框改为单选按钮。
②使单击单选按钮后得到响应。
7.修改Test7.java程序,当选中applet中复选框时显示“我喜欢IBM笔记本!”,不选中时显示“我不喜欢IBM笔记本!”。
注:Applet中输出的文本信息起始坐标为(100,120)
8、A.java的功能:显示0.jpg图片,并将输出宽度缩小100,补充程序完成此功能。
9、Account.java文件中定义了一个银行帐户类Account,其中包括了帐户名属性accountName、存款余额属性amount、存款方法deposit(double money)。阅读并理解这个类,并为其增加一个“取款”方法withdraw():当存款余额大于取款金额时,执行取款修改余额;当存款余额小于取款金额时,不执行取款;以返回值0表示取款成功,返回值1表示取款不成功。
10.StudentClass.java文件中已有学生类Student,包含属性有姓名name和年龄age。由学生类派生出本科生类Undergraduate和研究生类Graduate,本科生类包含的属性有专业specialty,研究生类包含的属性有研究方向studydirection.每个类都有相关数据的输出方法。请将程序填写完整使本程序运行结果如下:
11.Test11.java程序定义了一个学生的类Student,包括成员变量“学号”、“班号”、“姓名”、“性别”、“年龄”,成员方法:“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”。请为Student类定义构造函数初始化所有的成员变量。增加一个方法“修改年龄”。
boolean setStudentAge(int newAge)。新年龄如果在1至100岁的话,将原来年龄修改为新年龄,并返回修改成功true的信息。如果超出范围,显示“非法学生年龄”,并返回false的信息。运行后显示结果如下: