2008-2009学年第 1 学期期末考试试题( A 卷)(1)
1、选择题(20分)
本题共有10个小题,每个小题都有4个答案,但只有1个是正确的,请把正确答案的代码填入小题后的空格中,每个小题2分,共20分。
(1)在下列说法中,最正确的一项是(?????????????? )。
?A、Java语言是以类为程序的基本单位的? B、Java语言是不区分大小写的
?C、多行注释语句必须以//开始?? D、在Java程序中,主类的源文件名和该类名可以不相同
(2)在Java语言中,下面概念的哪一个是最基本的元素?(?????????? )
?? A、线程?????????? B、包??????????? C、对象???????? D、接口
(3)编译一个定义了5个类和10个方法的Java源文件后,会产生多少个字节码文件,扩展名是什么?(? )
??A、15个字节码文件,扩展名是.class?? B、1个字节码文件,扩展名是.class
C、5个字节码文件,扩展名是.java?? ???D、5个字节码文件,扩展名是.class
(4)下列哪一项不属于Applet中的显示方法?( ?????? )
?A、update()??????? B、repaint()???????? C、drawLine()??????????? D、paint()
(5)下列哪一项不是Applet的生命周期方法?(?? )
? A、start()???????? B、getCodeBase()?????? C、destroy()?????????? D、init()
(6)编写AWT图形用户程序的时候,一定要import的语句是( ????????)。
? A、import? java.awt; B、import java.awt.*;C、import? javax.awt.*;D、import javax.swing.*;
(7) Frame 的默认的布局管理器是下列哪一个?(???? ????)。
A.FlowLayout ??B.BorderLayout? C.GridLayout ??D.CardLayout
(8)下列选项中,哪一个属于输出流?(?? )
? A、从打印机流向控制器的数据流????????? B、从键盘流向内存的数据流
C、从内存流向控制器的数据流?????????? ?D、从内存流向网络的数据流
(9)关于容器类(container)下列说法正确的是(??????? )。
A.容器本身不是一个组件????? B.是component类的子类
C.不具有构件的所有性质????? D.不能在容器中放置其他组件或容器
(10)下列程序执行的结果是(????????????? )。
public class ex{
public static void main(String args[ ])
{? int a=3;
? int b=4;
? int x=5:
? if(a*a+b*b= =x*x)
? x=x<<(b— a);
? System.out.print(x);}
?A、5??????????? B、6?????????????? C、10?????????? ?????D、3
2、填空题(20分)
??? 本题共有10个小题,请把合适的内容填到每个小题的空白处,每小题2分,共20分。
(2)Java源程序文件和字节码文件的扩展名分别为__ ????????____和_____________。
(3)一般Java程序的类体由两部分组成:一部分是?????????? _,另一部分是????? ______。
(4)Java 中的字符使用的是16位的____? ??????_____编码。
(5)在Java语言中,用来分配内存的运算符是___?? _____。
(7)顺序执行下面两个语句,输出的结果是:__???? ????????_______。
??? String s= “Hello!利奇”;
?System.out.println(s.1ength( ));
(8)设有数组定义:int MyIntArray[? ]={1,2,3,4,5,6,7};
则执行F面几个语句后的输出结果是___ ???????????____。
? int s=0;
? for(int i=0;? i<MyIntArray.1ength;i++)
? s+=MyIntArray[i];
?System.out.println(s);
(9)表达式7/6*5的计算结果是___?? _??????????????? __。
(10)ByteArraylnputStream以__??????? ????_??? _作为输入流。
3、判断题(10分)
??? 本题共有10个小题,请判断说法的正误,正确的说法在小题后括号中打√号,否则打×号,每个小题1分,共10分。
(1)Java语言没有指针的概念。??????????????????????????? ????????(??????? )
(2)Java是面向对象语言,它兼容C++语言。??? ???????????????????????(??????? )
(3)Java程序可以划分为两大类:Application和Applet。??? ?????????????(??????? )
(4)布局管理器体现了Java的平台无关性。???????????????????? ?????????(??????? )
(5)Applet不需要全部重写其生命周期方法。?????????????????? ??????????(??????? )
(6)getDocumentBase(? )用于获取包含Applet的HTML文件的URL。 ??????(??????? )
(7)FileOutputstream类的父类是OutputStream 。 ??????????????????????????(??????? )
(8)iava.uti1 包给出了 Runnable接口的定义。????????????????????? ????(??????? )
(9)若要编写出色的图形用户界面程序,不需要让组件响应用户的操作。? ?(??????? )
(10)AWT的低级事件是在组件或者容器上发生的事件。????????????? ????(??????? )
?
4、读程序题(每题6分,本大题共30分)
?
(1)阅读程序,给出程序的运行结果。
public class Person
{???? String name;
?????? int age;
?????? public Person(String name,int age)
?????? {???? this.name=name;
????????????? this.age=age;
?????? }
?????? public static void main(String args[])
?????? {???? Person c=new Person("Peter",17);
????????????? System.out.println(c.name+" is "+c.age+" years old!");
?????? }
}
??
(2)阅读程序给出程序的正确输出结果
class? MyClass
{
??? int? a[]={1,2,3,4,5};
??? void out()
{
??????? for(int? j=0;j<a.length;j++)
??????????? System.out.print(a[j]+”? ”);
??? }
??? public static void main(String[] args)
??? {
??????? MyClass my=new MyClass();
??????? my.out();
??? }
}
?
?
(3)现有一个类定义如下:?????????????
class student
{
String name;
int age;
int score=88;
student(String a1,int a2,int a3)
{
name=a1; age=a3; score=a2;
}
}
在使用该类时,已使用下面语句生成了该类的对象:
student s1,s2;
s1=new student("张三",20,21);
s2=new student();
问题:
1、? s1.name,s1.age,s1.score的值各是什么?
2、? s2.name,s2.age,s2.score的值各是什么?
??
?
(4)现有类说明如下:????????
class A
{
int x=100;
int GetA(){return x;}
}
class B extends A
{
int x=10;
int GetB(return x;}
}
问题:
1类B是否能继承类A的属性x?
2若b是类B的对象,则b.GetB()的返回值是什么?
3若b是类B的对象,则b.GetA()的返回值是什么?
4类A和类B都定义了x属性,这种现象称为什么?
?
?
?